Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
|BRAINSTORMING| Register Globals [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
|BRAINSTORMING| Register Globals


 
TobiaZ
22-06-2003, 17:02 
 
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

 
TobiaZ
22-06-2003, 17:31 
 
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 ....

 
TobiaZ
23-06-2003, 14:51 
 
@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

 
TobiaZ
23-06-2003, 15:10 
 
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

 
Wurzel
30-06-2003, 17:18 
 
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

 
Wurzel
30-06-2003, 21:19 
 
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

 
Wurzel
30-06-2003, 21:28 
 
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

 
Wurzel
01-07-2003, 09:43 
 
@schmalle
was merken? wer ich? wo? ... hä??? :D :D :D


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:40 Uhr.