Archiv verlassen und diese Seite im Standarddesign anzeigen : |BRAINSTORMING| Register Globals
Hallo zusammen,
um den Usern dieses Forums weitere Unterstützung beim Programmieren zu bieten, möchte ich euch bitten zu folgendem Thema ein Brainstorming zu machen:
-> REGISTER GLOBALS
Oft genug treten Probleme auf, nur weil man nicht berücksichtigt hat, dass globals aus sind, oder ähnliches. Ich bitte euch auch zu diesem Thema alles Wissenswerte zu Brainstormen.
Danke für eure Hilfe!
AtomicHX3 22-06-2003, 17:23 Ich hab darüber gebrütet und nachgeforschrt was alles zu beachten ist:
Alles was ich weiß inklusive 2 Lösungen wie man sein Script PHP 4.0.0 aufwärts kompatibel macht(altes anpasst), oder schreibt(neues anfängt):
http://www.hx3.de/forums/index.php?act=ST&f=16&t=416
Das deckt ja schon einiges ab! Danke!
mrhappiness 22-06-2003, 20:00 if (!empty($_GET))
extract($_GET);
elseif (!empty($HTTP_GET_VARS))
extract($HTTP_GET_VARS);
if (!empty($_POST))
extract($_POST);
elseif (!empty($HTTP_POST_VARS))
extract($HTTP_POST_VARS);
und so weiter und so forthttp://www.php-resource.de/forum/showthread.php?s=&postid=111860#post111860
schmalle 23-06-2003, 09:38 @happy, so mache ich das auch auch :) aber lass dass nicht einen sehen, der es "etwas genauer" nimmt ;)
AtomicHX3 23-06-2003, 13:30 Ihr solltet eines bedenken:
Die register_globals wurden deaktiviert um hackangriffe nach der Methode "variabelwerte per angabe in der url zu überschreiben um die Website zu hacken"
Wenn ihr jetzt also schlicht $_GET entpackt ist das keine Lösung.
schmalle 23-06-2003, 13:43 man kann seine seiten auch so bauen, dass sie nicht per get gehackt werden können, wenn man reg_glob. on hat ....
@schmalle: Gute idee! Und wenn man dann noch schlechte Programmierung allgemein ausschließen will, dann lässt man es ganz sein! :D
schmalle 23-06-2003, 14:55 Original geschrieben von TobiaZ
@schmalle: Gute idee! Und wenn man dann noch schlechte Programmierung allgemein ausschließen will, dann lässt man es ganz sein! :D ich bin mir gerade unschlüssig, wie ich dein posting werten sol ... ?!? :confused:
scheiss tippfehler. die hitze mach mich kirre
Keine Kritik an dir, eher an der Userschaft ansich (großteil)
</EOT>
mrhappiness 23-06-2003, 17:17 wenn ich ne session variable $_SESSION['dummy']='geheim' habe und jemand ruft die seite so aufindex.php?dummy=exploitwas passiert dann bitteschön, wenn ich erst $_GET entpacke und danach $_SESSION?
ich trau mich zu wetten, dass folgendes skriptif (isset($dummy))
echo '$dummy: '.$dummy;
else
echo '$dummy: nicht vorhanden';
echo '<p />';
if (!empty($_GET))
extract($_GET);
elseif (!empty($HTTP_GET_VARS))
extract($HTTP_GET_VARS);
if (isset($dummy))
echo '$dummy: '.$dummy;
else
echo '$dummy: nicht vorhanden';
echo '<p />';
if (!empty($_SESSION))
extract($_SESSION);
elseif (!empty($HTTP_SESSION_VARS))
extract($HTTP_SESSION_VARS);
if (isset($dummy))
echo '$dummy: '.$dummy;
else
echo '$dummy: nicht vorhanden';folgendes ausgibt:$dummy: nicht vorhanden
$dummy: exploit
$dummy: geheimwieman sieht, hat $dummy danach den Wert aus der Session, wurde also nicht überschrieben...
schmalle 24-06-2003, 09:12 @happy genau :jo: :)
ausserdem wie ich schon sagte. immer nur sachen per get übertragen, bei denen es egal ist, wenn sie überschrieben werden.
es gibt vielleicht n paar kleine fehler, aber das ist ja sache des "überschreibers". wenn ihm dann besser ist ;)
mrhappiness 24-06-2003, 16:57 Original geschrieben von schmalle
@happy genau :jo: :)vielen herzlichen dank :)
per GET übertrage ich nur infos, die auf keinen fall sicherheitskritisch sind, die, die ich übertrage, werden vorher geprüft und gut is
hab gerade in der IW 08/03 diesen "einzeiler" für
"GET/POST/COOKIE"-vars gefunden: import_request_variables () (http://de.php.net/manual/de/function.import-request-variables.php)
wenn man mal von grundsätzlichen sicherheitsfragen
absieht, scheint es eine geschmeidige lösung zu sein.
oder spricht etwas gegen die nutzung?
mrhappiness 30-06-2003, 21:12 Original geschrieben von dem Link von Wurzel
You can use 'G', 'P' and 'C' characters respectively for GET, POST and Cookie.
[...]
If you're interested in importing other variables into the global scope, such as SERVER, consider using extract().kannst nur $_GET, $_POST und $_COOKIE so importiern, $_FILES, $_ENV, $_SERVER und $_SESSION bleiben außen vor
ist schon klar...ich kann ja lesen...sogar englisch ;)
mit... oder spricht etwas gegen die nutzung?hatte ich etwas anderes im sinn. schließlich gibt es genug anwendungen, wo ich die anderen vars nicht/selten benötige.
mrhappiness 30-06-2003, 21:21 wenn du die anderen nicht brauchst, spricht imo nix gegen die nutzung der funktionich trau dir schon zu, dass du der englischen sprache mächtig bist, aber vll is nich jeder gewillt den text zu lesen :D
Original geschrieben von mrhappiness
wenn du die anderen nicht brauchst, spricht imo nix gegen die nutzung der funktionich trau dir schon zu, dass du der englischen sprache mächtig bist, aber vll is nich jeder gewillt den text zu lesen :D
na bitte, geht doch :D
aber du hast recht ... faulheit ist ein überproportional steigendes problem ... merk ich jeden morgen ;)
schmalle 01-07-2003, 08:58 Original geschrieben von Wurzel
na bitte, geht doch :D
aber du hast recht ... faulheit ist ein überproportional steigendes problem ... merk ich jeden morgen ;) ach, du merkst was? :D
@schmalle
was merken? wer ich? wo? ... hä??? :D :D :D
|
|