ggp Skrevet 21. desember 2004 Skrevet 21. desember 2004 Hei, jeg lurte på om noen kunne vise meg hvordan jeg lager et include script ... Mine linker er slik: nyheter.php Jeg vil ha sånne: page?nyheter.php Jeg vet at jeg skal bruke include, meg jeg vet ikke hvordan jeg skal bruke det Takker for hjelp !
Loomy Skrevet 21. desember 2004 Skrevet 21. desember 2004 Et av mange varianter: <?php error_reporting(0); $filnavn = $_GET['s']; $filendelse = '.php'; if (!$filnavn) { $filnavn = 'forside'; } if (!eregi("^((.*)/)", $filnavn)) { include $filnavn . $filendelse; } else { include "404.php"; } ?> Hentet fra Unrealized.org
lokeland Skrevet 21. desember 2004 Skrevet 21. desember 2004 Noe jeg mekka her om da'n: <?php $forside = 'forside.php'; $404 = 'feil.php'; $hentnavn = 'id'; $hent = $_GET['$hentnavn']; $filendelse = '.php'; /* Koden under bør ikke røres om man ikke har satt seg inn i php */ if (isset($_GET['$hentnavn'])) { // sjekker at det ikke finnes /-er eller ..'er if (stristr($_GET['$hentnavn'], '..') || stristr($_GET['$hentnavn'], '/')) echo "Ulovlige tegn etter \"$hentnavn\""; else // om ikke adressen er skrevet riktig utføres denne koden { /* Sjekker om filen finnes */ if (is_file($hent . $filendelse)) include_once $hent . $filendelse; // om filen finnes, inkluderes filen som har blitt definert i URLen else include ('$404'); // hvis ikke filen finnes, inkluderes filen 404.php } } else include('$forside'); ?> Kan ikke garantere at det virker, men du kan jo prøve om du vil..
ggp Skrevet 21. desember 2004 Forfatter Skrevet 21. desember 2004 brainbug90: På det include scripte, får jeg opp en feil melding: Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /mnt/home2/a/aa/aadnk/public_html/flaffy/design1/index.php on line 3 Hva er galt ?
lokeland Skrevet 21. desember 2004 Skrevet 21. desember 2004 (endret) brainbug90: På det include scripte, får jeg opp en feil melding: Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /mnt/home2/a/aa/aadnk/public_html/flaffy/design1/index.php on line 3 Hva er galt ? http://www.jklweb.net/test/ <--- Tror den skal funke.. Ny kode: <?php $hent = $_GET['id']; $filendelse = '.php'; if (isset($_GET['id'])) { // sjekker at det ikke finnes /-er eller ..'er if (stristr($_GET['id'], '..') || stristr($_GET['id'], '/')) echo "Ulovlige tegn etter ?\"id\"="; else // om ikke adressen er skrevet riktig utføres denne koden { /* Sjekker om filen finnes */ if (is_file($hent . $filendelse)) include_once $hent . $filendelse; // om filen finnes, inkluderes filen som har blitt definert i URLen else include ('404.php'); // hvis ikke filen finnes, inkluderes filen 404.php } } else include('forside.php'); ?> Funka det nå? Tok vekk noen variabler.. Fikk ikke helt til å includere variabler :s Kunne trengt en forklaring på det om noen føler seg snille Også kanskje en tilbakemelding eller to? Endret 21. desember 2004 av brainbug90
TorS Skrevet 21. desember 2004 Skrevet 21. desember 2004 (endret) include ('$404'); Må bli til include ("$404"); Du må bruke doble anførselstegn for å få frem innholdet til variabelen. Enkle fnutter skriver bare ut navnet. EDIT: Leif var på besøk her Endret 21. desember 2004 av TorS
racin Skrevet 21. desember 2004 Skrevet 21. desember 2004 include ('$404'); Må bli til include ("$404"); Du må bruke doble anførselstegn for å få frem innholdet til variabelen. Enkle fnutter skriver bare ut navnet. EDIT: Leif var på besøk her Er ikke det enkleste å bare ha: include ($404);
lokeland Skrevet 21. desember 2004 Skrevet 21. desember 2004 include ('$404'); Må bli til include ("$404"); Du må bruke doble anførselstegn for å få frem innholdet til variabelen. Enkle fnutter skriver bare ut navnet. EDIT: Leif var på besøk her Små feil kan gjøre stor forandring.. takker.. deg og ylox..
???????? Skrevet 21. desember 2004 Skrevet 21. desember 2004 Hehe... en liten feil der som gjør at en hvilken som helt host kan stenge siden din. Pass på at det ikke er mulig å include filen igjen, da vil hele scriptet gå i en loop og bruke alle ressurser på serveren.
lokeland Skrevet 22. desember 2004 Skrevet 22. desember 2004 Hehe... en liten feil der som gjør at en hvilken som helt host kan stenge siden din. Pass på at det ikke er mulig å include filen igjen, da vil hele scriptet gå i en loop og bruke alle ressurser på serveren. die() eller exit() mener du? :s Ta den siste postede koden å legg til, så kanskje jeg skjønner hva du tenker på..
Andreaz_ Skrevet 22. desember 2004 Skrevet 22. desember 2004 Jeg fikk min til å gå i en forferdelig loop...
???????? Skrevet 22. desember 2004 Skrevet 22. desember 2004 (endret) Hehe... en liten feil der som gjør at en hvilken som helt host kan stenge siden din. Pass på at det ikke er mulig å include filen igjen, da vil hele scriptet gå i en loop og bruke alle ressurser på serveren. die() eller exit() mener du? :s Ta den siste postede koden å legg til, så kanskje jeg skjønner hva du tenker på.. Hva mener du? Poenget er at dersom siden heter index og man da setter GET['id'] til å være index så vil index includes. Da vil den igjen starte det scriptet, som igjen vil include index - og slik fortsetter det. På den måten trenger scriptet så mange ressurser at serveren ikke vil kunne vise andre sider. Skjer det et par ganger så vil det bli et problem for andre på den serveren og hosten vil til slutt blokere siden din. Edit: Det er lett å unngå, plasser alle include filene i en egen mappe og sjekk at $_GET['id'] kun inneholder bokstaver. Så includer du "mappenavn/".$_GET['id'].".php". En liten, men vanlig, feil som kan føre til en host kan stoppe siden din. Endret 22. desember 2004 av ????????
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå