Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verhindert man den direkten Zugriff auf AJAX-aufgerufene PHP-Dateien?

Wie verhindert man den direkten Zugriff auf AJAX-aufgerufene PHP-Dateien?

DDD
DDDOriginal
2024-11-11 07:52:02624Durchsuche

How to Prevent Direct Access to AJAX-Called PHP Files?

Abfangen des direkten Zugriffs auf AJAX-aufgerufene Dateien

In AJAX-gesteuerten Anwendungen erfordert das Abrufen von Daten aus serverseitigen PHP-Skripten sorgfältige Überlegungen Sicherheit. Beim Aufrufen von Skripten über GET-Anfragen werden deren Inhalte und Parameter für jeden sichtbar, der HTTP-Header untersucht.

Verhindern des direkten Dateizugriffs

Um zu verhindern, dass nicht autorisierte Benutzer direkt auf PHP-Dateien zugreifen können wir den von AJAX-Anfragen gesendeten HTTP_X_REQUESTED_WITH-Header nutzen. Dieser Header zeigt an, dass die Anfrage von einem XMLHttpRequest stammt, sodass wir sie von direkten Zugriffsversuchen unterscheiden können.

Implementierung

Fügen Sie in Ihrem PHP-Skript den folgenden Codeblock hinzu vor allen sensiblen Vorgängen:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access to AJAX requests
} else {
    // Block direct file access and display an error message
    header("HTTP/1.0 403 Forbidden");
    echo "Direct access not permitted.";
}

AJAX-Anfrage Header

Ihr JavaScript-Code sollte die folgende Zeile enthalten, um den X-Requested-With-Header zu AJAX-Anfragen hinzuzufügen:

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");

Dadurch wird sichergestellt, dass der Server den Header korrekt empfängt identifiziert die Anfrage als AJAX-Aufruf. Durch die Implementierung dieser Maßnahmen können Sie den direkten Dateizugriff auf PHP-Skripte, die von AJAX-Funktionen aufgerufen werden, wirksam verhindern und gleichzeitig die Zugänglichkeit für legitime AJAX-Anfragen aufrechterhalten.

Das obige ist der detaillierte Inhalt vonWie verhindert man den direkten Zugriff auf AJAX-aufgerufene PHP-Dateien?. 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