Warum wurde register_globals in PHP deaktiviert?

Linda Hamilton
Freigeben: 2024-11-15 10:33:02
Original
633 Leute haben es durchsucht

Why Was register_globals Disabled in PHP?

Registrieren von Globals in PHP

Einführung

In PHP war register_globals eine interne Einstellung, die automatisch Variablen aus dem superglobalen Array $_REQUEST registrierte. Aus Sicherheitsgründen war es jedoch standardmäßig deaktiviert.

Beispiele für Register Globals

Wenn register_globals aktiviert war, konnte mit demselben direkt auf Eingabefeldwerte von POST- oder GET-Anfragen als Variablen zugegriffen werden Geben Sie als Eingabefeld den Namen ein. Zum Beispiel:

<form method="post">
  <input type="text" name="username">
  <input type="submit">
</form>
Nach dem Login kopieren

Wenn register_globals aktiviert ist, würde der folgende PHP-Code am Anfang des Skripts als „true“ ausgewertet werden:

$username === $_POST['username'];
Nach dem Login kopieren

Sicherheitslücken

Register_globals eingeführt schwerwiegende Sicherheitslücken. Beispielsweise könnte ein Angreifer einen Abfragezeichenfolgenparameter wie „?authorized=1“ an eine URL anhängen, um Autorisierungsprüfungen zu umgehen.

Globales Schlüsselwort

Im Gegensatz zu register_globals verfügt das globale Schlüsselwort über einen anderen Zweck. Es wird verwendet, um innerhalb einer Funktion auf Variablen aus einem anderen Bereich zuzugreifen. Zum Beispiel:

$foo = 'bar';

function baz() {
  // Attempting to use $foo here will trigger a warning
  echo $foo;
}

function buzz() {
  global $foo;  // Declares that $foo is a global variable
  echo $foo;    // Prints 'bar'
}
Nach dem Login kopieren

Fazit

Während register_globals aufgrund seiner Sicherheitsrisiken nicht mehr verwendet wird, bleibt das Schlüsselwort global ein nützliches Werkzeug für den Zugriff auf Variablen in verschiedenen Bereichen.

Das obige ist der detaillierte Inhalt vonWarum wurde register_globals in PHP deaktiviert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage