Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Sprachelemente und Syntax  Teil von  Variablen
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Einsatz von register_globals: Seite 1

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



Welche PHP-Version verwenden Sie? Finden Sie es heraus! Prüfen Sie bei dieser Gelegenheit, wie die Variable register_globals bei Ihnen eingestellt ist. Dies gelingt mithilfe des folgenden PHP-Skripts:

<?
phpinfo();
?>

Im Browserfenster wird eine umfangreiche Übersichtseite erscheinen. Scrollen Sie in dieser Datei ein Stück nach unten und überprüfen Sie die Einstellung der Variablen register_globals.

Die Einstellung der Variablen können Sie in der Konfigurationsdatei php.ini jederzeit selbst vornehmen. Der Eintrag in der Konfigurationsdatei stellt sich wie folgt dar:

register_globals = On

Seit der PHP-Version 4.2 wird diese Variable jedoch standardmäßig auf Off gesetzt.

register_globals = Off

Sie merken es vor allem dann, wenn Sie Ihren eigenen Webserver betreiben und updaten. Schalten Sie daher bei Problemen mit Ihren PHP-Skripts (vorerst) zurück auf On. Nach einem Neustart des Webservers stehen die geänderten Einstellungen zur Verfügung. Die meisten Provider mit PHP-Unterstützung haben in der Regel noch nicht auf register_globals = Off umgeschaltet. Zu groß wäre wohl der Aufschrei vieler Kunden. Schließlich bedeutete diese Maßnahme, dass viele Skripts auf einen Schlag nicht mehr funktionierten. Vor allem bei umfangreichen Projekten wäre die Umstellung mit einem erheblichen Aufwand verbunden. Denn hinter dieser Änderung stecken z. B. die Informationen aus »GET« und »POST«, »COOKIES« und »SERVER« – also praktisch der gesamte Bereich externer Variablenquellen. Und diese Werte stehen nach der Änderung der Einstellung für register_globals nun nicht mehr zur Verfügung.

Die Informationen aus dieser Quelle können nun nicht mehr so einfach per $Variablennamen ausgelesen werden. Am Beispiel einer Formularauswertung will ich Ihnen dies verdeutlichen. Bisher war PHP wirklich einfach gestrickt. Der Name eines Formularfelds wurde automatisch zur Variablen.

<input type="text" name="telefon">

Im auswertenden PHP-Skript wurde folgendermaßen auf den Inhalt des Formularfelds zugegriffen:

$telefon

Dabei spielte es übrigens keine Rolle, ob das Formular per

method = "post"

oder

methode = "get"

abgeschickt wurde. Selbst die Werte von Cookies konnte man anhand ihres Namens ermitteln. Diese Schreibweise stellt sich als recht bequem dar, aber auch äußerst problematisch, wenn es um Eindeutigkeit und Sicherheit geht.


Probleme der Schreibweise – Eindeutigkeit

Es kann durchaus zu Verwechslungen kommen, vor allem wenn Sie nicht zu den diszipliniertesten Entwicklern gehören. Sie erzeugen etwa ein Formularfeld, das name heißt. Zufälligerweise steckt auch ein gleichnamiges Cookie in Ihrem Quellcode. Dann haben Sie ein Problem, denn sowohl der Inhalt des Formularfelds als auch der Wert des Cookies stehen nun über $name zur Verfügung. Diese Schwierigkeiten könnte man mit einer konsequenten Variablenbennenung vermeiden. Beginnen Sie Cookie-Variablen grundsätzlich mit einem kleinen c und Formular-Variablen mit einem kleinen f.


Probleme der Schreibweise – Sicherheit

Kommen wir nun zum Sicherheitsproblem. Es gibt bei schlampig programmiertem Code viele Angriffsmöglichkeiten für potenzielle Hacker. Schauen Sie sich einmal folgenden Teil eines PHP-Skripts an:

if ($pw=="g1882m") {
$login = true;
}




Vordefinierte Variablen
 




:: Premium-Partner ::

Webhosting/Serverlösungen

Pixel X weitere Premium-Partner
 

:: SELFPHP Sponsor ::

DM Solutions e.K. weitere Sponsoren
 


:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Captcha – Der Unterschied zwischen Mensch und Maschine

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Einen Farbwert in den negativen Farbwert umrechnen

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de