Apache2 -> Querystrings erlauben
Apache2 -> Querystrings erlauben
Hallo!
Ich habe folgendes Problem: Wenn ich eine Seite mit Querystring aufrufe (z.B. http://www.mein-seite.tld/index.php?variable=wert), so erhält das PHP-Skript nicht den Querystring. Ich weiß, dass es dafür eine Einstellung in der php.ini oder apache2.conf geben muss, konnte diese bis jetzt aber nicht finden. :?
Danke für jeden Tipp!
Ich habe folgendes Problem: Wenn ich eine Seite mit Querystring aufrufe (z.B. http://www.mein-seite.tld/index.php?variable=wert), so erhält das PHP-Skript nicht den Querystring. Ich weiß, dass es dafür eine Einstellung in der php.ini oder apache2.conf geben muss, konnte diese bis jetzt aber nicht finden. :?
Danke für jeden Tipp!
-
manfred, das mammut
- Posts: 48
- Joined: 2005-02-16 13:06
- Location: 127.0.0.1
Re: Apache2 -> Querystrings erlauben
Läuft PHP als CGI oder als Modul?
Kannst Du Deine Variable nicht über $meinevar=$_GET["variable"] auslesen?
Viele Grüße
sp@php.net
Kannst Du Deine Variable nicht über $meinevar=$_GET["variable"] auslesen?
Viele Grüße
sp@php.net
Re: Apache2 -> Querystrings erlauben
Dann müsste ich ja alle meine Skripte umschreiben
PHP läuft als Modul
PHP läuft als Modul
Re: Apache2 -> Querystrings erlauben
Hab den Fehler gefunden! Man muss register_globals in der php.ini auf on setzen. Hätte ich eigentlich wissen sollen... :oops:
Re: Apache2 -> Querystrings erlauben
Und du solltest wissen, dass das nicht gut ist.
Re: Apache2 -> Querystrings erlauben
Wieso nicht?
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Apache2 -> Querystrings erlauben
Weil dann durch schlampige Programmierung die Skripte sehr leicht zu überlisten sind.
Lies mal http://de.php.net/register_globals.
Lies mal http://de.php.net/register_globals.
-
manfred, das mammut
- Posts: 48
- Joined: 2005-02-16 13:06
- Location: 127.0.0.1
Re: Apache2 -> Querystrings erlauben
Ich kann auch nur DRINGEND empfehlen, register_globals auf off zu lassen. Alles andere ist sicherheitstechnischer Selbstmord!!!
Besonders beliebtes Beispiel: include($datei)..
Es muss nicht mal schlampige Programmierung vorliegen... Mit register_globals auf on kann jede Variable des Scripts per Query-String gesetzt werden (auch die internen).
Es gibt schon triftige Gründe, warum wir register_globals defaultmäßig auf off gesetzt haben.
Scripts auf "register_globals off" umzuschreiben geht eigentlich ganz fix. Du musst nur am Anfrang einmal $variable1=$_GET["variable1"]; $variable2=$_GET["variable2"]; usw setzen.
Viele Grüße
sp@php.net
Besonders beliebtes Beispiel: include($datei)..
Es muss nicht mal schlampige Programmierung vorliegen... Mit register_globals auf on kann jede Variable des Scripts per Query-String gesetzt werden (auch die internen).
Es gibt schon triftige Gründe, warum wir register_globals defaultmäßig auf off gesetzt haben.
Scripts auf "register_globals off" umzuschreiben geht eigentlich ganz fix. Du musst nur am Anfrang einmal $variable1=$_GET["variable1"]; $variable2=$_GET["variable2"]; usw setzen.
Viele Grüße
sp@php.net
Re: Apache2 -> Querystrings erlauben
Wenn Du es richtig machen willst, läßt Du den auch auf off und schreibst Deine Scripte um.blubber wrote:Hab den Fehler gefunden! Man muss register_globals in der php.ini auf on setzen. Hätte ich eigentlich wissen sollen... :oops:
Ich schätze, es ist nur noch eine Frage der Zeit, bis die Entwickler das ganz rausnehmen werden.
BTW: Genau so übel ist "short_open_tag=on". Ich hoffe, der fliegt auch irgendwann mal raus. Aber dann müsste man Confixx und Visas rechtzeitig informieren. :roll:
[TOM]
-
manfred, das mammut
- Posts: 48
- Joined: 2005-02-16 13:06
- Location: 127.0.0.1
Re: Apache2 -> Querystrings erlauben
Eigentlich hatten wir gedacht, dass register_globals mit default off und die zahlreichen sich darauf beziehenden Sicherheitshinweise im PHP-Manual ausreichen... Scheint wohl nicht ganz zu klappen.
Ob nun register_globals komplett aus PHP fliegt, kann ich noch nicht sagen. Viele Leute nutzen rg on noch als debug-modus.
Ob nun register_globals komplett aus PHP fliegt, kann ich noch nicht sagen. Viele Leute nutzen rg on noch als debug-modus.
register_globals
Da wären mal real world Beispiele der Art "erstmal die Variable auf das prüfen, was ich will" hilfreich. Das gilt aber auch für die PHP-Programmierbücher. Ein "include($_GET['datei'])" ist ja nicht wirklich sicher. :lol:Manfred, das Mammut wrote:Eigentlich hatten wir gedacht, dass register_globals mit default off und die zahlreichen sich darauf beziehenden Sicherheitshinweise im PHP-Manual ausreichen... Scheint wohl nicht ganz zu klappen.
Es gibt unglaublich viele schwach programmierte web applications, die im Umlauf sind und nicht mehr gewartet werden können. [1] Für einen Webhoster wäre der Verzicht auf "register_globals" eine Katastrophe. :oManfred, das Mammut wrote:Ob nun register_globals komplett aus PHP fliegt, kann ich noch nicht sagen. Viele Leute nutzen rg on noch als debug-modus.
[1] -- der Programmierer ist entweder erwachsen geworden, studiert BWL, ist tot oder sogar auf Java umgestiegen, zudem findet sich niemand anderes, der den Code noch anfassen will :twisted:
Re: register_globals
Bei Kleinigkeiten hilft oft ein Suchen & Ersetzen. Hab ich so bei Visas mit dem short_open_tag machen müssen. :roll:kawfy wrote:[1] -- der Programmierer ist entweder erwachsen geworden, studiert BWL, ist tot oder sogar auf Java umgestiegen, zudem findet sich niemand anderes, der den Code noch anfassen will :twisted:
[TOM]
-
manfred, das mammut
- Posts: 48
- Joined: 2005-02-16 13:06
- Location: 127.0.0.1
Re: Apache2 -> Querystrings erlauben
@kawfy: Ja klar, wer ein "include$_GET['datei']" macht gehört standesrechtlich erschossen *g*. Fürs Sanitizing ist eben jeder Entwickler (genau so wie bei C++, Java und ASP) selbst zuständig. Im PHP Manual wird ja auch häufig darauf hingewiesen.
Und klar: Auf Produktiv-Servern ist "register_globals on" tabu.
Und übrigens: Ich studiere BWL... :-D
Und klar: Auf Produktiv-Servern ist "register_globals on" tabu.
Und übrigens: Ich studiere BWL... :-D