Thomas Luethi: aktellen link oder URL auslesen

Beitrag lesen

Hallo,

Irgendwie weiß ich nicht wo dann noch der Unterschied ist wenn die Übergabe über die URL trotzdem geht.
Nur das ich die Variablen im Script mit $_GET['ag'] abrufen brauch.
Im Prinzip ändert sich dort doch gar nichts!?

Es geht nicht um die Uebergabe-Methode.
Es geht darum, wie Du im Skript auf den Parameter zugreifst.
Es geht um Sicherheit.

Beispiel:

Du hast ein (etwas ungeschicktes) Skript wie z.B.

if ($passwort=="geheim123")
  $eingeloggt="ok";

if ($eingeloggt=="ok")
  { /* geheime Inhalte anzeigen */ }
else
  { die("Du bist nicht berechtigt!"); }

Wenn der Angreifer z.B. weiss, wie das Skript aufgebaut ist,
und wenn register_globals="on" ist, dann kann er jetzt mit
blabla.html?eingeloggt=ok
die Seite abrufen und damit gleich die Variable
$eingeloggt, die im Skript verwendet wird, auf "ok" setzen.
Wenn register_globals="off" ist, hat er keine Chance,
diese Variable zu setzen.
Er kann nur $_GET['ok'] setzen, aber nicht $ok.

Das Beispiel ist sehr lueckenhaft (kein ELSE-Teil)
und auch sonst nicht sehr praxisnah (Passwortuebergabe
per GET bzw. URL ist nicht sehr schlau), aber es geht
mir nur darum, zu zeigen, was moeglich ist.

Da Du offenbar noch einige Verstaendnis- und Wissensluecken
hast, empfehle ich Dir, mal die Kapitel zu Formularen und
Variablen sowie zur Sicherheit in der dclp-FAQ durchzulesen:
http://www.dclp-faq.de/ch/ch-webvariablen.html
http://www.dclp-faq.de/ch/ch-security.html

Gruesse,

Thomas