Heim > Backend-Entwicklung > PHP-Tutorial > So verwenden Sie superglobale Variablen in PHP

So verwenden Sie superglobale Variablen in PHP

PHPz
Freigeben: 2023-05-20 19:02:02
Original
1299 Leute haben es durchsucht

Superglobale Variablen in PHP beziehen sich auf Variablen, auf die im globalen Bereich zugegriffen werden kann. Jede superglobale Variable ist ein assoziatives Array, das viele vordefinierte Variablen in PHP enthält, wie z. B. $_GET, $_POST, $_COOKIE usw. Diese superglobalen Variablen sind in der Webentwicklung sehr wichtig, da sie eine wichtige Möglichkeit bieten, Informationen aus Benutzeranfragen abzurufen, z. B. Formulardaten, URL-Parameter usw. abzurufen.

In diesem Artikel werden die häufig verwendeten superglobalen Variablen in PHP ausführlich vorgestellt, einschließlich ihrer Rollen, ihrer Verwendung und der Vermeidung von Sicherheitsproblemen.

1. $_GET

$_GET ist ein assoziatives Array, das alle über die URL übergebenen Parameter enthält. Wenn die angeforderte URL beispielsweise http://example.com/index.php?name=John&age=25 lautet, enthält das Array $_GET die folgenden Elemente:

array(
    'name' => 'John',
    'age' => '25'
);
Nach dem Login kopieren

Auf diese Werte können wir im Folgenden zugreifen Möglichkeiten:

echo $_GET['name']; // 输出 'John'
echo $_GET['age']; // 输出 '25'
Nach dem Login kopieren

2. $_POST

$_POST ist ebenfalls ein assoziatives Array, das alle über die POST-Methode übermittelten Formulardaten enthält. Wir können es verwenden, um die Daten aus dem Formular abzurufen, wie unten gezeigt:

<form action="process.php" method="post">
    <input type="text" name="name" />
    <input type="submit" value="Submit">
</form>
Nach dem Login kopieren

Beim Absenden des Formulars können wir die superglobale Variable $_POST verwenden, um die übermittelten Daten abzurufen:

echo $_POST['name'];
Nach dem Login kopieren

3. $_COOKIE

$_COOKIE ist ein assoziatives Array, das alle in der aktuellen Anfrage gesendeten Cookies enthält. In den meisten Fällen können wir die Variable $_COOKIE verwenden, um zuvor gesetzte Cookies zu lesen.

setcookie('name', 'John', time() + (86400 * 30), '/');
Nach dem Login kopieren

Dadurch wird im Browser des Benutzers ein Cookie namens „name“ mit dem Wert „John“ gesetzt, das nach 30 Tagen abläuft. Wir können den folgenden Code verwenden, um den Wert von Cookie zu lesen:

echo $_COOKIE['name'];
Nach dem Login kopieren

4. $_SESSION

$_SESSION ist ein assoziatives Array, das alle während der Benutzersitzung gespeicherten Variablen enthält. Wenn ein Benutzer Ihre Website besucht, ist $_SESSION das einzige, was einen Benutzer von einem anderen unterscheidet.

Um Daten in der Sitzung zu speichern, können Sie den folgenden Code verwenden:

session_start();
$_SESSION['name'] = 'John';
Nach dem Login kopieren

Auf diese Weise können wir den Status eines bestimmten Werts während der gesamten Sitzung beibehalten:

session_start();
echo $_SESSION['name']; // 输出 'John'
Nach dem Login kopieren

5. $_SERVER

$_SERVER ist ein enthaltender An Array mit server- und clientbezogenen Informationen für die aktuelle Skriptausführung. Durch die Verwendung von $_SERVER können wir einige vom Client angeforderte Informationen erfahren, wie zum Beispiel:

  • IP-Adresse des Remote-Zugriffsbenutzers: $_SERVER['REMOTE_ADDR']
  • Benutzeragent: $_SERVER['HTTP_USER_AGENT']
  • Aktuelles Skript Dateipfad: $_SERVER['SCRIPT_FILENAME']
  • Aktuelle Anforderungsmethode (GET/POST): $_SERVER['REQUEST_METHOD']
  • Stammverzeichnis, in dem sich das aktuelle Skript befindet: $_SERVER['DOCUMENT_ROOT']

Diese Die Informationen sind für Entwickler sehr nützlich.

6. $_FILES

$_FILES ist ein Array, das Informationen über Dateien beim Datei-Upload enthält. Beim Hochladen von Dateien können Sie $_FILES verwenden, um die hochgeladenen Dateien zu verwalten.

Sie können den folgenden Code verwenden, um den Wert von $_FILES auszudrucken:

print_r($_FILES);
Nach dem Login kopieren

Dadurch wird ein Array mit Dateiinformationen ausgegeben, wie zum Beispiel:

Array
(
    [file] => Array
        (
            [name] => file.txt
            [type] => text/plain
            [tmp_name] => /tmp/phpzAduR5
            [error] => 0
            [size] => 123
        )

)
Nach dem Login kopieren

7. Vermeiden Sie Sicherheitsprobleme

Superglobale Variablen sind in PHP standardmäßig aktiviert Entwickler können damit problemlos Daten aus Webanfragen abrufen. Allerdings stellen sie auch eine Quelle von Sicherheitslücken dar.

Ein Angreifer kann superglobale Variablen in Webanfragen verwenden, um Schadcode einzuschleusen oder Schwachstellen in Webanwendungen zu schaffen. Daher sollten Entwickler die folgenden Maßnahmen ergreifen, um ihre Websites zu schützen:

  1. Eingabedaten filtern. Sie können die Funktion filter_var() in PHP oder reguläre Ausdrücke verwenden, um die Eingabedaten zu filtern und sicherzustellen, dass der Benutzer keinen Schadcode einschleust.
  2. Eingabedaten validieren. Entwickler sollten alle Eingabedaten validieren, um sicherzustellen, dass sie dem erwarteten Format und der erwarteten Länge entsprechen. Wenn Sie beispielsweise mit E-Mail-Adressen arbeiten, können Sie die Funktion filter_var() verwenden, um sicherzustellen, dass die E-Mail-Adresse das richtige Format hat.
  3. Übergeben Sie superglobale Variablen nicht direkt an SQL-Abfragen oder -Befehle. Dies ist eine gute Programmierpraxis, um SQL-Injection und andere Sicherheitsprobleme zu vermeiden.
  4. Deaktivieren Sie die Fehlerberichterstattung. Auf Produktionsservern sollten die Fehlerberichtsfunktionen von PHP deaktiviert werden, um zu verhindern, dass Angreifer Informationen über die Anwendungsarchitektur und andere vertrauliche Informationen erhalten.

Zusammenfassung

Durch die Verwendung superglobaler Variablen in PHP können problemlos Daten in Webanfragen abgerufen werden. Entwickler sollten diese Variablen sorgfältig verstehen und sie beim Erstellen von Webanwendungen verwenden. Allerdings sollten Entwickler auch die Sicherheitsrisiken superglobaler Variablen verstehen und die notwendigen Schritte unternehmen, um die Anwendungssicherheit zu gewährleisten.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie superglobale Variablen in PHP. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage