Page 1 of 1
Apache2 -> Querystrings erlauben
Posted: 2005-02-25 19:14
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!
Re: Apache2 -> Querystrings erlauben
Posted: 2005-02-25 19:39
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
Re: Apache2 -> Querystrings erlauben
Posted: 2005-02-26 11:03
by blubber
Dann müsste ich ja alle meine Skripte umschreiben
PHP läuft als Modul
Re: Apache2 -> Querystrings erlauben
Posted: 2005-02-26 11:08
by blubber
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
Posted: 2005-02-26 11:11
by bungeebug
Und du solltest wissen, dass das nicht gut ist.
Re: Apache2 -> Querystrings erlauben
Posted: 2005-02-26 11:12
by blubber
Wieso nicht?
Re: Apache2 -> Querystrings erlauben
Posted: 2005-02-26 16:36
by Roger Wilco
Weil dann durch schlampige Programmierung die Skripte sehr leicht zu überlisten sind.
Lies mal
http://de.php.net/register_globals.
Re: Apache2 -> Querystrings erlauben
Posted: 2005-02-26 20:30
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
Re: Apache2 -> Querystrings erlauben
Posted: 2005-02-28 02:34
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]
Re: Apache2 -> Querystrings erlauben
Posted: 2005-02-28 11:54
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.
register_globals
Posted: 2005-03-01 02:55
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:
Re: register_globals
Posted: 2005-03-01 02:59
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]
Re: Apache2 -> Querystrings erlauben
Posted: 2005-03-01 09:10
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