Ich find den Fehler nicht o.O
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
all
angreifer
aussehen
datei
dateiname
endung
fehler
funktion
gruss
gren
irgend
korrekterweise
lsung
mache
methodik
optisch
uebrigens
variable
verstehe
webseite
-
Hallo,ich wollt' grad mal ne Seite machen mit php include,wie ichs schon immer mache aber das funktioniert diesmal nicht...wennn man aufn navi punkt klickt öffnet sich das nicht o.O
code:
<style type="text/css"> BODY { background: url('http://img259.imageshack.us/img259/2254/layoutwe1.jpg') ; background-repeat:no; color: #000000; line-height: 12px; font-family: tahoma; font-size: 10px; overflow: yes } font { color: #000000; font-family: tahoma; font-size: 10px; line-height: 9px; } b { color: #000000; letter-spacing:0,5px; } i { color: #000000; letter-spacing:1px; } u { color: #000000; letter-spacing:1px; } s { color: #000000; letter-spacing:0,5px; font-family:tahoma; font-size:10px } a { background: transparent; text-decoration: underline; color: #000000 } A:hover { background: transparent; text-decoration: none; color: #000000; } TEXTAREA,INPUT { color: #000000; background-color: transparent; font-family: tahoma; font-size: 10px; border: 1px solid #000000, } .content { position: absolute; left: 390px; top: 470px; background: transparent; height: 411px; width: 363px; overflow: auto } .inhaltetable { width: 275px } .box { width: 15em; background: #8B1A1A;border:1px solid #000000;} .box h1, .box {margin: 0 10px;} .box h1 {font-size:150%; color:#ffffff; } .box .top, .box .bottom{display:block;background: #8B1A1A;} .box .top b, .box .bottom b { display:block;height: 1px; overflow: hidden; background: #8B1A1A; } .box .r1{margin: 0 5px;} .box .r2{margin: 0 3px;} .box .r3{margin: 0 2px;} .box .top .r4, .box .bottom .r4{margin: 0 1px;height: 2px;} </style> <div style="height: 351px; top: 118px; left: 132px; width: 302px;" class="content"> <?php include("news.php"); if (!$index){ $index="news.php";} ?> <br> </div> <div style="position: absolute; height: 107px; width: 180px; top: 194px; left: 448px;"><br> <?php include("navi.php"); ?> </div> > </body> </html>
navi.php
<br> <div class="box"> <h1><a href="?index=news.php">News</a></h1><br> Hier kommen News hin. </div> <br><br> <div class="box"> <h1><a href="?index=about.php">About</a> </h1> <br> Über dieses Seite & über mich. </div><br><br> <div class="box"> <h1><a href="?index=stuff.php">Stuff</a></h1> <br> All Kind of Stuff <3 <b class="bottom"> </b></div> <br> <br> <div class="box"> <h1><a href="?index=gb.php">Gästebuch</a></h1><br> Maaaains : D <b class="bottom"> </b></div>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich verstehe deine Methodik nicht ganz...
Ersteinmal musst du, wenn du einen Wert per GET übergibst, diesen auch auslesen und in eine Variable schreiben ($index = $_GET['index']).
Der Fehler liegt darin, dass du eine Seite (news.php) includest und danach nichts passiert. Die Seite wird nur includet...
Dein PHP-Teil müsste korrekterweise so aussehen:
<? $index = ($_GET['index']) ? $_GET['index'] : "news.php"; include($index); ?>
Es ist übrigens optisch besser, die Dateiendung nicht mit in dei URL zu schreiben.
Übergib also in der navi.php statt "?index=stuff.php" nur "?index=stuff", das sieht besser aus. Die Endung hängst du später wieder an:
<? $index = ($_GET['index']) ? $_GET['index'] : "news"; include($index.".php"); ?>
gruß
ferdinand24 -
Nur mal so nebenbei ... ich würde generell keine Dateinamen per GET übergeben. Was passiert nämlich wenn ein User (Angreifer) irgend eine andere Datei in die Url schreibt? ...diese wird ausgeführt!!!
Und es kommt noch schlimmer... mit bestimmten PHP Konfigurationen ist es sogar möglich dort eine Url zu einem eigenen Server des Angreifers anzugeben. Was passiert ist klar... die PHP-Datei des Angreifers wird auf deinem Server (Webseite) ausgeführt und das ist nicht unbedingt prickelnd
Lösung:
Inkludiere die Dateien immer fest. Verwende Funktionen, die dein Code ausführen. Verzweige immer nur per Get/Post zu den Funktionen, die benötigt werden. Das macht deine Seite schnell und sicher
Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage