Apache2 -> Querystrings erlauben

Apache, Lighttpd, nginx, Cherokee
Post Reply
blubber
Posts: 53
Joined: 2004-08-18 14:39
Contact:
 

Apache2 -> Querystrings erlauben

Post by blubber »

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!
manfred, das mammut
Posts: 48
Joined: 2005-02-16 13:06
Location: 127.0.0.1
 

Re: Apache2 -> Querystrings erlauben

Post by manfred, das mammut »

Läuft PHP als CGI oder als Modul?

Kannst Du Deine Variable nicht über $meinevar=$_GET["variable"] auslesen?

Viele Grüße

sp@php.net
blubber
Posts: 53
Joined: 2004-08-18 14:39
Contact:
 

Re: Apache2 -> Querystrings erlauben

Post by blubber »

Dann müsste ich ja alle meine Skripte umschreiben :cry:

PHP läuft als Modul
blubber
Posts: 53
Joined: 2004-08-18 14:39
Contact:
 

Re: Apache2 -> Querystrings erlauben

Post by blubber »

Hab den Fehler gefunden! Man muss register_globals in der php.ini auf on setzen. Hätte ich eigentlich wissen sollen... :oops:
bungeebug
Posts: 187
Joined: 2004-04-14 10:08
 

Re: Apache2 -> Querystrings erlauben

Post by bungeebug »

Und du solltest wissen, dass das nicht gut ist.
blubber
Posts: 53
Joined: 2004-08-18 14:39
Contact:
 

Re: Apache2 -> Querystrings erlauben

Post by blubber »

Wieso nicht?
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Apache2 -> Querystrings erlauben

Post by Roger Wilco »

Weil dann durch schlampige Programmierung die Skripte sehr leicht zu überlisten sind.
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

Post by manfred, das mammut »

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
[tom]
Posts: 656
Joined: 2003-01-08 20:10
Location: Berlin
 

Re: Apache2 -> Querystrings erlauben

Post by [tom] »

blubber wrote:Hab den Fehler gefunden! Man muss register_globals in der php.ini auf on setzen. Hätte ich eigentlich wissen sollen... :oops:
Wenn Du es richtig machen willst, läßt Du den auch auf off und schreibst Deine Scripte um.

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

Post by manfred, das mammut »

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.
kawfy
Posts: 307
Joined: 2002-08-08 23:45
 

register_globals

Post by kawfy »

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.
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:Ob nun register_globals komplett aus PHP fliegt, kann ich noch nicht sagen. Viele Leute nutzen rg on noch als debug-modus.
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. :o

[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]
Posts: 656
Joined: 2003-01-08 20:10
Location: Berlin
 

Re: register_globals

Post by [tom] »

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:
Bei Kleinigkeiten hilft oft ein Suchen & Ersetzen. Hab ich so bei Visas mit dem short_open_tag machen müssen. :roll:


[TOM]
manfred, das mammut
Posts: 48
Joined: 2005-02-16 13:06
Location: 127.0.0.1
 

Re: Apache2 -> Querystrings erlauben

Post by manfred, das mammut »

@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
Post Reply