Thema: PHP Problem

Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#11

Re: PHP Problem

  Alt 21. Jan 2007, 23:06
Zitat von BUG:
Es sollten nie Seiten/Dateien aus Parametern direkt aufgerufen werden,
lieber nochmal die Gültigkeit überprüfen (zB: durch eine DB) , sonst Riesensicherheitlücke
(Pishing, Cross-Site-Scripting, ...)
So ist es. Ausserdem, wenn es nicht unbedingt mit Frames gemacht werden muss, kannst du das Schlimmste auch sehr einfach verhindern: verwende einfach include(). Wenn dein Provider nicht bescheuert ist, hat er entweder safe_mode mit einer open_basedir-Restriction an, oder mindestens allow_url_fopen aus. Damit koennen keine Remote-Dateien gelesen werden. Gescheiter ist das: Anstatt
Code:
if(file_exists('pages/'.$page))
zu schreiben, schreibst du:
Code:
if (preg_match('#^[a-z0-9\-_]+\.html$#i', $page) && file_exists('pages/'. $page))
Damit muss ein Dateiname mit mindestens einem Alphanumerischen Zeichen sowie - oder _ beginnen, und mit ".html" enden. Sonst koennte jemand auch /etc/passwd auslesen, und das waere leicht besch*.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat