WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » registerglobals » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Philipp Gérard
Man kann natürlich schlechte workarounds programmieren - oder einfach die eine Zeile in einer htaccess benutzen *kopfschüttel*
von Can
languitar schrieb am 13.01.2004 23:17
Blödes eval(). Das würde ich eher als nen miesen Hack ansehen.


"Miese Hacks" sind selten offiziell in der Dokumentation beschrieben. Für mich zählt das zu den Spezialitäten der Interpretersprachen
von Philipp Gérard
.htaccess mit

1:
php_flag register_globals on
von languitar
Blödes eval(). Das würde ich eher als nen miesen Hack ansehen.
von Can
Ich hab doch gesagt, mit eval. Das ist ja das Praktische an ner Interpretersprache
Hab mal eben ne kleine Funktion geschrieben:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22:
<?

function create_variables()
{
  global $HTTP_GET_VARS,$HTTP_POST_VARS,$HTTP_COOKIE_VARS; //Und alles, was man halt sonst noch so will
  
  $vars=$HTTP_GET_VARS+$HTTP_POST_VARS+$HTTP_COOKIE_VARS; //..
  $keys=array_keys($vars);

  foreach($keys as $name)
    {
      $value=$vars[$name];
      eval("global \$$name; \$$name=\"$value\";");
    }
}

$bla=0;
create_variables();

echo $bla;

?>


Gib script.php?bla=5 ein, nach dem Aufruf von create_variables ist bla wieder 5. Einsetzen könnte man das z.B. so:

1: 
2:
if (!get_cfg_var("register_globals"))
  create_variables();


Nur die Sache mit dem global find ich doof, aber da fiel mir auf die Schnelle keine gescheite Lösung ein.

Can

Nach oben