Heim >Backend-Entwicklung >PHP-Tutorial >Wie verhindert man den direkten Zugriff auf von Ajax aufgerufene Dateien?

Wie verhindert man den direkten Zugriff auf von Ajax aufgerufene Dateien?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-13 00:42:02916Durchsuche

How to Prevent Direct Access to Files Called by Ajax?

So beschränken Sie den direkten Zugriff auf von Ajax aufgerufene Dateien

Bei Verwendung von Ajax zum Aufrufen von PHP-Code, wie in der Abfrage dargestellt, werden die Daten Die übertragenen Daten können durch die Untersuchung der Anforderungsheader offengelegt werden. Auch wenn die Daten möglicherweise nicht vertraulich sind, bleibt ihr Potenzial zur Ausnutzung bestehen.

Um dieses Problem auszuräumen, besteht eine gängige Lösung in der Verwendung des HTTP_X_REQUESTED_WITH-Headers. Dieser Header, der normalerweise von Ajax-Anfragen/Frameworks festgelegt wird, ermöglicht die Unterscheidung zwischen Ajax- und Nicht-Ajax-Anfragen. Der folgende Codeausschnitt zeigt die Implementierung:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access within Ajax requests
} else {
    // Block access outside of Ajax requests
}

Im Javascript-Code können Sie diesen Header manuell festlegen:

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

Das obige ist der detaillierte Inhalt vonWie verhindert man den direkten Zugriff auf von Ajax aufgerufene 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