Warum schreib ich dies obwohl es etliche books darueber gibt?
weil ich finde, wenn man die probleme oder loesungen von anderen liest, kann man besser lernen

ausserdem ist sicherheit in php-skripten ein grooosses thema und vielleicht schreiben hier ja mal ein paar leute

also das einfachste zu erst...
Uninitialisierte Variable Vielleicht habt ihr schonmal davon gelesen, damit sind Variablen in PHP-Scripts gemeint, die nicht vorher mit einem Wert gefuellt wurde.
Ein Beispiel:
<?php
if(isset($_GET['password']) && $_GET['password']=="12345678") $zeige_admin=true;
if($zeige_admin){include("admin.inc.php");}
?>
Was passiert hier?
Wenn der Parameter
password gleich "
12345678" ist, dann wird die Variable
$zeige_admin auf
true.
Als nextest wird ueberprueft, ob eben diese auf
true steht, was nur sein soll, wenn der Parameter entsprechend ist.
Wie kann man nun die [vielleicht fuer Anfaenger noch nicht ganz sichtbare] Sicherheitsluecke benutzen?
Wir muessen nur die Variable $zeige_admin auf true setzen, damit wir "in" den admin bereich kommen.
Und zwar mit folgendem Parameter
?zeige_admin=true
damit ist die Variable true und wir kommen in den Adminbereich.
Aber wie kann man das verhindern?
Mit einer einzigen Zeile
$zeige_admin=false; am Anfang des Codes.
Damit wird die Variable entsprechend gesetzt und nicht mehr via GET gechanged
{ Hab jez keine Lust mehr zu schreiben xD }
--
Man kann auch register_globals in der php.ini auf off setzten, aber man darf sich auf nichts verlassen!
Berichtigt mich wenn ich fehler gemacht hab
