Wenn Sie sich noch an die Verwendung von C zur Entwicklung von CGI-Programmen in der frühen WEB-Anwendungsentwicklung erinnern können , Sie werden auf jeden Fall ein tiefes Verständnis für die mühsame Formularverarbeitung haben. Wenn die PHP-Konfigurationsoption register_globals aktiviert ist, gibt es keine komplexe Rohformularverarbeitung mehr und öffentliche Variablen werden automatisch erstellt. Es macht die PHP-Programmierung einfach und bequem, birgt aber auch Sicherheitsrisiken.
Tatsächlich ist register_globals harmlos, es schafft keine Schwachstellen und es erfordert, dass Entwickler Fehler machen. Es gibt jedoch zwei Hauptgründe, warum Sie register_globals beim Entwickeln und Bereitstellen von Anwendungen deaktivieren müssen:
Erstens erhöht es die Anzahl der Sicherheitslücken
Zweitens verbirgt es die Quelle der Daten, was der Verantwortung des Entwicklers widerspricht, die Daten jederzeit zu verfolgen.
Bei allen Beispielen in diesem Buch wird davon ausgegangen, dass register_globals deaktiviert wurde und Super-Public-Arrays wie $_GET verwendet werden Und $_POST stattdessen. Die Verwendung dieser Arrays ist fast so bequem wie das Programmieren mit aktiviertem register_globals, und die kleine Unannehmlichkeit lohnt sich, da sie die Sicherheit Ihres Programms erhöht.
Tipps
Wenn Sie eine Anwendung entwickeln müssen, die in einer Umgebung bereitgestellt wird, in der register_globals aktiviert ist, ist es sehr wichtig, dass Sie Alle Variablen müssen initialisiert und error_reporting auf gesetzt werden E_ALL(oder E_ALL | E_STRICT), um vor nicht initialisierten Variablen zu warnen. Wenn register_globals aktiviert ist, stellt jede Verwendung nicht initialisierter Variablen fast immer eine Sicherheitslücke dar.
Das Obige ist der Inhalt der PHP-Sicherheitsvariablen und der Registrierung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.org). .php.cn)!