Seite 1 von 1

Register Globals On, wie schreibe ich das um?

Verfasst: 10.09.2009 22:01
von absoluternoob
Hallo,

mein Problem ist folgendes: Ich habe auf meinem Server Joomla, phpBB, drupal,...
Jetzt habe ich eine neue Seite dazu bekommen. Diese erfordert aber "Register Globals: On". Ich hätte aber das ganze lieber Off, wegen der Sicherheit.

Da ich noch Ferien habe, habe ich genügend Zeit dieses Script umzuschreiben, da ich gehört habe, dass ich "nur" Variablen ausstauschen muss. Könnt ihr mir sagen, was ich gegen was austauschen müsste?
(Ich habe da mal gehört ich müsste alle "$" gegen "$_GET" austauschen. Stimmt das? Wenn ich richtig verstehe, müsste ich das dann in allen .php Dateien machen, oder?)

floo

Re: Register Globals On, wie schreibe ich das um?

Verfasst: 10.09.2009 22:33
von Boecki91
Register Globals sorgt dafür das du schreiben kannst

Code: Alles auswählen

<?php
//Aufruf z.B. mit test.php?input=hallo
echo $input
//Ausgabe: hallo
?>
wenn du RG abstellst kommt nichts raus.

dafür musstest du z.B. $_GET['input'] eingeben.

Die Gefahr bei RG ist das wenn eine Varable vorher nicht verwendet wird und dann z.B. in eine SQL Abfrage eingesetzt wird, kann der Angreifer böse Dinge damit anstellen ;) Somit ist das Umschreiben aller Variabelen nicht sinnvoll, man muss bestimmte umschreiben und auch sonst die Sicherheit prüfen, sonst hat man die RGs zwar aus aber immer noch das gleiche Problem.

Re: Register Globals On, wie schreibe ich das um?

Verfasst: 10.09.2009 23:15
von absoluternoob
Hallo Boecki!

Wenn ich das richtig verstanden habe, müsste der Code danach, so aussehen, oder?

Code: Alles auswählen

<?php
//Aufruf z.B. mit test.php?input=hallo
echo $_GETinput
//Ausgabe: hallo
?>
@RG: Die eine Seite ist mir eher egal. Wenn dann mache ich das eher um die restlichen Seiten ohne RG auskommen zu lassen. Sie also so zu lassen, wie sie jetzt sind.

floo

Re: Register Globals On, wie schreibe ich das um?

Verfasst: 11.09.2009 08:33
von Frank1604
absoluternoob hat geschrieben:

Code: Alles auswählen

echo $_GETinput
nee, nicht ganz!

Code: Alles auswählen

echo $_GET['input']; 

Re: Register Globals On, wie schreibe ich das um?

Verfasst: 11.09.2009 12:10
von absoluternoob
Muss der Inhalt unter ' stehen, oder ist das jetzt nur beim Beispiel?

Re: Register Globals On, wie schreibe ich das um?

Verfasst: 11.09.2009 14:52
von Dr.Death
Hallo,

ähm, hier mal ein kleiner Hinwesi auf ein paar "Grundlagen" -->

http://tut.php-quake.net/de/output.html
http://tut.php-quake.net/de/get.html

Re: Register Globals On, wie schreibe ich das um?

Verfasst: 11.09.2009 15:14
von Boecki91
Du kannst das aber nicht überall machen, würde es so einfach sein könnte man auch ein automatisches Programm schreiben :D

Re: Register Globals On, wie schreibe ich das um?

Verfasst: 14.09.2009 19:46
von igorw
Es ist möglich, dass $_GET nicht ausreicht. Die meisten formulare verwenden POST. Also müsste man dort zum auswerten $_POST verwenden.

Damit man diesen unterschied nicht machen muss, ist es auch möglich $_REQUEST zu verwenden. Das beinhaltet $_POST, $_GET und $_COOKIE.