Eli miten saan sivuilleni "index.php?sivu" tyylisiä sivuja?
No se kysymysmerkin jälkeinen osa löytyy muuttujasta $_SERVER['QUERY_STRING']. Loppu jätettäköön kotitehtäväksi.
sivu=$_GET['sivu'];
ja includee jos sivu löytyy.
tsuriga: index.php?sivu=../../../.htpasswd ?-)
Esimerkkini siis kertoo että kannattaa muistaa php:tä käytettäessä heti alussa ottaa huomioon tietoturva.
Tietenkin, mutta eihän sitä löydy jos etsii .php? Tai tarkastaa onko annettu sana sallittu/filtteröi huonot entryt poies.
EDIT: Jos jollakin on mukavia vinkkejä tietoturvan parantamiseksi niin tänne vaan.
lainaus:
Jos jollakin on mukavia vinkkejä tietoturvan parantamiseksi niin tänne vaan.
https://www.ohjelmointiputka.net/koodivinkit/
Tuo näyttää ihan pätevältä.
Itse haen merkkijonon näin:
<?php $mjono = getenv("QUERY_STRING"); ?>
Eli uusin versio muuttujasta :P
Jos laittaa että
$sivu=$_GET['sivu'];
ja sitten includee sivun tähän tapaan:
$includetaa=$sivu . ".php"; include($includetaa);
Tai sitten voit tietysti tehdä tarkistukset ettei saa olla kuin tietyt sanat tuossa muuttujassa.
Tässä vain yksi tapa... ei ehkä kaikkein järkevin...
Aihe on jo aika vanha, joten et voi enää vastata siihen.