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

So verwenden Sie superglobale Variablen in PHP

PHPz
PHPzOriginal
2023-05-20 19:01:341214Durchsuche

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'
);

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

echo $_GET['name']; // 输出 'John'
echo $_GET['age']; // 输出 '25'

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>

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

echo $_POST['name'];

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), '/');

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'];

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';

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

session_start();
echo $_SESSION['name']; // 输出 'John'

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);

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
        )

)

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!

Stellungnahme:
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