Wieso?
-
flenders schrieb:
1ntrud0r schrieb:
hmm warum zu alt ???
Weil es $_GET erst ab PHP >= 4.1.0 gibt!
das ist mir eigentlich klar ...
flenders schrieb:
1ntrud0r schrieb:
sollte er die section wie das offset testen ... und wenn nötig setzen ...
Das ist allgemein sicher sinnvoll, da der User sicher irgendwann mal an den Parametern "rumspielt"
Hier würde dies aber nichts bringen, da die Elemente aus $_GET nie gesetzt wären und immer der Standard-Wert verwendet würdewelche Standardwerte .. ?? wenns existiert hats nen wert .. wenns nicht existiert wirds neu erstellt mit nem fixen wert ..
flenders schrieb:
1ntrud0r schrieb:
edit auf url vars kann man direkt zugreifen. ( z.B. in deinem fall $section )
Dazu muss aber register_globals auf on stehen, was bei neueren Versionen defaultmäßig aber schon nicht mehr der Fall ist (da Sicherheitsrisiko)
hatte mal den Eindruck bzw weiss es sicher das das auch mal ohne register globals ging .. Das Sicherheitsriskio seh ich allerdings net .. weil jede url var eh noch mindestens 3 mal überprüft wird das keine möglichkeit existiert arbitary code einzubauen ..
-
1ntrud0r schrieb:
flenders schrieb:
1ntrud0r schrieb:
hmm warum zu alt ???
Weil es $_GET erst ab PHP >= 4.1.0 gibt!
das ist mir eigentlich klar ...
Dann verstehe ich deine Frage nicht Wenn er eine ältere PHP Version laufen hat darf er natürlich nicht das $_GET-Array verwenden
1ntrud0r schrieb:
flenders schrieb:
1ntrud0r schrieb:
sollte er die section wie das offset testen ... und wenn nötig setzen ...
Das ist allgemein sicher sinnvoll, da der User sicher irgendwann mal an den Parametern "rumspielt"
Hier würde dies aber nichts bringen, da die Elemente aus $_GET nie gesetzt wären und immer der Standard-Wert verwendet würdewelche Standardwerte .. ?? wenns existiert hats nen wert .. wenns nicht existiert wirds neu erstellt mit nem fixen wert ..
Wenn er mit if(!isset($_GET['...'])) $_GET['...'] = '... default ...'; arbeitet wird immer der Default-Wert gesetzt, da die Elemente im $_GET-Array bei alten Versionen (s.o.) ja gar nie gesetzt sind
1ntrud0r schrieb:
flenders schrieb:
1ntrud0r schrieb:
edit auf url vars kann man direkt zugreifen. ( z.B. in deinem fall $section )
Dazu muss aber register_globals auf on stehen, was bei neueren Versionen defaultmäßig aber schon nicht mehr der Fall ist (da Sicherheitsrisiko)
hatte mal den Eindruck bzw weiss es sicher das das auch mal ohne register globals ging .. Das Sicherheitsriskio seh ich allerdings net .. weil jede url var eh noch mindestens 3 mal überprüft wird das keine möglichkeit existiert arbitary code einzubauen ..
Also wenn register_globals nicht auf on ist kannst du nicht direkt (ala $action) auf die URL vars zugreifen. Deswegen sollte man am besten gleich $HTTP_GET_VARS['action'] verwenden (falls $_GET noch nicht vorhanden ist)
Wenn du immer schön vor der Verwendung von Variablen diese auf einen festen Startwert setzt ist dies kein Problem, wenn du dir aber die Schreibarbeit gescheut hast und nicht alles sauber initialisierst (siehe Code) kann der User ggf. Sachen sehen, die er eigentlich gar nicht sehen darf.<?php // Beispiel für ein Login, wie man es nicht machen sollte, da $login nicht initialisiert wurde // bzw. nicht generell einen Wert zugewiesen bekommt if(($username == 'Hans') && ($passwort == 'Wurst')) $logged_in = true; // so wäre dies kein Problem: // $logged_in = (($username == 'Hans') && ($passwort == 'Wurst')); if($logged_in) { echo 'Erfolgreich eingelogged!'; } else { echo 'Login-Formular'; } ?>
Wird nun das Script nicht wie von dir geplant aufgerufen (mit Übergabe von Username und Passwort), sondern mit ?logged_in=true so wird fälschlicherweise angenommen, dass der User korrekt eingelogged sei
-
got it
-
flenders schrieb:
<?php // Beispiel für ein Login, wie man es nicht machen sollte, da $login nicht initialisiert wurde // bzw. nicht generell einen Wert zugewiesen bekommt if(($username == 'Hans') && ($passwort == 'Wurst')) $logged_in = true; // so wäre dies kein Problem: // $logged_in = (($username == 'Hans') && ($passwort == 'Wurst')); if($logged_in) { echo 'Erfolgreich eingelogged!'; } else { echo 'Login-Formular'; } ?>
sowas skriptet man so oder so nicht