php, codeschnipsel, php beispielen
[Tipp] Register Globals abschalten
   

Main
Home
Fachbuecher
Support Board
Webmaster News
Script Newsletter
Kontakt
Script Installation
Php
Php Tutorials
Impressum

Userbereich
kostenlos Anmelden
Memberliste
Login

Script Datenbank
Script Übersicht
Script eintragen
Script Top 20

Suche

 
Script Seite



Unsere Php Scripts
Counter Script
Umfrage Script
Bilder Upload Script
Terminverwaltung

Script Mods
phpBB Adsense Mod

Tools und Generatoren
.htpasswd Generatoren
md5 Generatoren
base64 Generatoren
ICQ Generatoren
Colorpicker
Unix timestamp Tool
tdl Liste
Webkatalog Verzeichnis

Partner
Sprüche Treff
weiter Partner

Hosterplus.de
Bekommen Sie Webspace, Domains und Rootserver m..


clichehosting..
Webhoster mit recht einfachen Angeboten.


weitere Anbieter

RSS Webmaster Newsfeed von Php Space RSS Webmaster Newsfeed
RSS Script Newsfeed von Php Space RSS Script Newsfeed

Statistik
15 Gäste Online
0 Member Online
559 Besucher heute

 

[Tipp] Register Globals abschalten

Sie befinden sich: Home > Webmaster News

Hosterplus

Was bedeutet eigentlich "Register Globals"

Wenn ihr Server-Administrator oder Ihre Hosting-Firma PHP auf dem Webserver installiert, so können diese eine Vielzahl von Einstellungen machen. Darunter ist auch die Einstellung "Register Globals", die auf "on" oder auf "off" stehen kann.
Nehmen wir folgendes kleines Script als Beispiel:

<?php 
echo $wert;
?>

Wenn wir das Script nun unter dem namen rg.php auf unserem Webserver speichern und aufrufen, so wird es, wie man unschwer sehen kann, eher überhaupt nichts tun. Eine Variable $wert wird zwar ausgegeben, vorab aber nicht mit einem Inhalt versehen.
Anders mag es sein, wenn wir das Script wie folgt aufrufen:

rg.php?wert=Hallo

Wenn in den PHP-Einstellungen Register Globals on stehen, dann wird durch diesen Aufruf des Scriptes mit dem Parameter automatisch eine variable $wert ereugt und mit dem Inhalt des Parameters "wert" versorgt. Eigentlich keine sehr unpraktische Sache.

Ist Register Globals auf "off" gesetzt, so funktioniert diese Wertübergabe so einfach nicht, sondern wir müssen Sie programmieren:

<?php 
$wert 
$_GET[wert];
echo 
$wert;
?>

PHP stellt uns alle übergebenen Parameter im Array $_GET[] zur Verfügung (Schreibweise genau beachten!).

Ähnlich verhält es sich mit Variablen, die per POST aus einem Formular übergeben werden. Mit Register Globals on stehen diese sofort zur Verfügung, mit Register Globals =off muss man Sie aus einem Arrray $_POST[] holen.

Viele im Umlauf befindliche Scripte sind nun so programmiert, dass sie darauf vertrauen, dass Register Globals on steht. Daher setzen die meisten Hoster und Systemadministratoren auch diese Einstellung, da andererseits zu viele Beschwerden kämen, weil "Scripte nicht laufen".

Schreiben Sie Ihren Code grundsätzlich immer so, als ob Register Globals off stünde und investieren Sie die paar Sekunden um das $_GET oder das $_POST-Array anzusprechen.

Und warum sollte Register Globals immer auf off stehen?
Die Einstellung Register Globals=on stellt ein erhebliches Sicherheitsrisiko dar, weil jede an das Script übergebene Variable ja sofort und unmittelbar im Code vorhanden ist. Hier ein kleiner Beispielcode: 

<?php 
// Session starten und nachschauen, ob admin angemeldet ist
session_start(); 

if(
$_SESSION['angemeldet']=='admin'
  
$berechtigung "darfalles";
  
// mehr Code
}

if(
$berechtigung == "darfalles"// Nur bei Admin
  
zeigeAdminMenu();
}
?>

Das Problem an diesem Code erkennt man dann, wenn man prüft, was bei diesem Aufruf des Scriptes passiert:
script.php?berechtigung=darfalles



(Quelle: Wolfgang ), Eingetragen am 20.June.2008


Hosterplus


Ähnliche News

28.08.2008 - [TIPP] PHP code lesbar gestaltet
28.08.2008 - [Tutorial] Arbeiten mit Unix-Zeitstempeln, date(),...
26.08.2008 - [Code] Banner ausliefern mit PHP (fpassthru)
05.08.2008 - [Tutorial] Mit Session ein Bild schützen
31.07.2008 - [Tutorial] Vergleichsoperationen

Letzten Webmaster News

10.09.2008 - [Tipp] Fehler beim Speichern des Alters eines User...
10.09.2008 - [Tipp] Nach Serverumstellung läuft Script nic...
29.08.2008 - [Tutorial] Verbindung zu MySql und Auswahl einer D...
28.08.2008 - [TIPP] PHP code lesbar gestaltet
28.08.2008 - [Tutorial] Arbeiten mit Unix-Zeitstempeln, date(),...







  Anzeige 
Hosterplus

 
 
Webhosting Service | Board Features