Wie verhindert man den direkten Zugriff auf Dateien, auf die über AJAX in PHP zugegriffen wird?

Susan Sarandon
Freigeben: 2024-11-12 00:36:03
Original
785 Leute haben es durchsucht

How to Prevent Direct Access to Files Accessed via AJAX in PHP?

Verhindern des direkten Zugriffs auf Dateien, auf die über AJAX zugegriffen wird

Wenn Sie über eine AJAX-Anfrage wie „func.php“ auf eine PHP-Datei zugreifen, Der direkte Zugriff auf diese Datei kann ein Sicherheitsrisiko darstellen. Um dieses Problem anzugehen, ist es wichtig, einen Mechanismus zu implementieren, der zwischen AJAX-Anfragen und Direktzugriffsversuchen unterscheidet.

Eine effektive Lösung besteht darin, die Servervariable „HTTP_X_REQUESTED_WITH“ zu nutzen. Die meisten AJAX-Frameworks setzen diesen Header auf „XMLHttpRequest“ und bieten so eine Möglichkeit, zwischen echten AJAX-Anfragen und direktem Browserzugriff zu unterscheiden. Diese Header-Prüfung kann wie folgt in der PHP-Datei implementiert werden:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access...
} else {
    // Ignore or deny access...
}
Nach dem Login kopieren

Durch die Implementierung dieser Prüfung können Sie sicherstellen, dass nur legitime AJAX-Anfragen auf die angegebene Datei zugreifen können, und sie so vor unbefugtem direkten Zugriff schützen.

Zusätzlich können Sie zur Erhöhung der Sicherheit den Header „X-Requested-With“ manuell in Ihrer AJAX-Anfrage festlegen, indem Sie das folgende JavaScript verwenden Code:

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

Dieser Schritt verstärkt den Schutz vor direktem Dateizugriff weiter.

Das obige ist der detaillierte Inhalt vonWie verhindert man den direkten Zugriff auf Dateien, auf die über AJAX in PHP zugegriffen wird?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage