So verhindern Sie den direkten Zugriff auf eine Datei, auf die über AJAX zugegriffen wird
Beim Erstellen von AJAX-Anfragen ist es von entscheidender Bedeutung, die Sicherheit der Daten zu gewährleisten übertragen wird. Wenn die Anforderungsmethode GET ist, können die Daten einfach durch Untersuchen der Anforderungsheader angezeigt werden. Obwohl die in der genannten Doppelfrage bereitgestellte Lösung das Problem nicht zu lösen scheint, gibt es einen alternativen Ansatz, der den direkten Zugriff auf die Zieldatei effektiv verhindern kann.
Lösung:
Um selektiv Zugriff auf AJAX-Anfragen zu gewähren und gleichzeitig den direkten Zugriff auf die Datei zu verweigern, können Sie die Servervariable HTTP_X_REQUESTED_WITH nutzen. Diese Variable wird von den meisten AJAX-Frameworks und -Bibliotheken auf XMLHttpRequest gesetzt. Mithilfe dieser Variable können Sie die folgende Prüfung innerhalb der PHP-Datei (z. B. func.php) implementieren:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) { // Allow access since this is an AJAX request } else { // Deny access since this is a direct request }
Integration des Headers:
Um dies sicherzustellen Wenn Ihre AJAX-Anfrage den X-Requested-With-Header enthält, fügen Sie die folgende Zeile zu Ihrem JavaScript-Code hinzu, bevor Sie die senden Anfrage:
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
Wirksamkeit:
Durch die Implementierung dieser Lösung schränken Sie effektiv den direkten Zugriff auf die Zieldatei ein und ermöglichen gleichzeitig AJAX-Anfragen von autorisierten Quellen. Dies trägt dazu bei, möglichen Datenmissbrauch oder Sicherheitsverletzungen zu verhindern.
Das obige ist der detaillierte Inhalt vonWie kann der direkte Zugriff auf Dateien verhindert werden, auf die über AJAX zugegriffen wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!