Wieso?
-
Übergibst du denn eine section per URL? Wenn ja ist deine PHP Version zu alt
-
ja ich mache .php?section=news
-
flenders schrieb:
Übergibst du denn eine section per URL? Wenn ja ist deine PHP Version zu alt
hmm warum zu alt ???
sollte er die section wie das offset testen ... und wenn nötig setzen ...
edit auf url vars kann man direkt zugreifen. ( z.B. in deinem fall $section )
-
1ntrud0r schrieb:
hmm warum zu alt ???
Weil es $_GET erst ab PHP >= 4.1.0 gibt!
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ürde1ntrud0r 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)
Besser wäre es statt $_GET bei alten Versionen $HTTP_GET_VARS zu verwenden (allerding nicht Superglobal - sprich: muss in Funktionen erst global gemacht werden um darauf zugreifen zu können
-
also ich wäre auch einfach zu frieden wenn ihr mir nen funktionell überarbeiteten source geben würdet
-
Ich sagte doch schon: Überall anstelle von $_GET $HTTP_GET_VARS verwenden
Ein bisschen wirst du doch wohl hoffentlich auch noch selber machen können
-
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