Heim  >  Artikel  >  Backend-Entwicklung  >  So deaktivieren Sie die Get-Anfrage mit PHP

So deaktivieren Sie die Get-Anfrage mit PHP

PHPz
PHPzOriginal
2023-03-24 17:09:511458Durchsuche

PHP wird als beliebte serverseitige Programmiersprache häufig zum Erstellen von Webanwendungen verwendet. Bei der Entwicklung von Webanwendungen mit PHP ist es sehr wichtig, die Sicherheit zu gewährleisten. Da HTTP-Anfragen zwei Typen umfassen: GET und POST, und da die GET-Anfrage die vom Client gesendeten Anforderungsparameter in der URL enthält, kann die Sicherheit der Webanwendung durch das Verbot der GET-Anfrage erhöht werden. In diesem Artikel besprechen wir, wie man GET-Anfragen über PHP unterdrückt.

Schritt eins: Anfragetyp abfragen

Beim Schreiben eines PHP-Skripts können wir den Parameter $_SERVER['REQUEST_METHOD'] verwenden, um den Typ der aktuellen Anfrage zu bestimmen. Wenn es sich um eine GET-Anfrage handelt, ist der Wert dieses Parameters „GET“, wenn es sich um eine POST-Anfrage handelt, ist sein Wert „POST“. Daher können wir am Anfang des Codes die folgende Beurteilungsaussage hinzufügen:

if ($_SERVER['REQUEST_METHOD'] == 'GET') {
  header('HTTP/1.1 405 Method Not Allowed');
  exit;
}

Dieser Code fragt zunächst ab, ob der Typ der aktuellen Anfrage GET ist. Wenn ja, wird der Fehler „HTTP/1.1 405 Method Not Allowed“ zurückgegeben Code und stoppen Sie die Implementierung des Skripts.

Schritt 2: Deaktivieren Sie das $_GET-Array

In PHP ist $_GET ein assoziatives Array, das die in der Anforderungs-URL übergebenen Parameter enthält. Um böswillige GET-Anfragen zu verhindern, können wir die Funktion unset() am Anfang des Skripts verwenden, um das Array $_GET auf ein leeres Array zu setzen:

$_GET = array();

Dadurch wird das Array $_GET deaktiviert und niemand kann Parameter in der URL übergeben .

Schritt 3: Verwenden Sie $_POST anstelle von $_GET

In PHP können wir das $_POST-Array verwenden, um die Daten in der POST-Anfrage zu speichern. Wenn wir Daten an eine PHP-Seite senden müssen und nicht möchten, dass sie über eine GET-Anfrage zugänglich sind, können wir eine POST-Anfrage anstelle einer GET-Anfrage verwenden.

Wenn Sie beispielsweise zuvor Parameter in der URL verwendet haben, um Suchschlüsselwörter zu übergeben, können Sie jetzt stattdessen ein ausgeblendetes Feld verwenden:

<form method="post" action="search.php">
  <input type="text" name="keyword">
  <input type="submit" value="Search">
</form>

In diesem Beispiel wird eine POST-Anfrage anstelle einer GET-Anfrage verwendet, um die Suchanfrage zu stellen. Verwenden Sie auf PHP-Seiten $_POST['keyword'], um Suchschlüsselwörter abzurufen, anstatt $_GET['keyword'] zu verwenden.

Zusammenfassend lässt sich sagen, dass das Deaktivieren von GET-Anfragen eine wirksame Möglichkeit ist, die Sicherheit von Webanwendungen zu erhöhen. Durch die oben genannten drei Schritte können wir wirksam verhindern, dass böswillige Benutzer GET-Anfragen verwenden, um unsere Anwendungen anzugreifen.

Das obige ist der detaillierte Inhalt vonSo deaktivieren Sie die Get-Anfrage mit 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