AJAX-Anfragen in PHP sicher erkennen
Die Überprüfung, ob es sich bei einer eingehenden Anfrage um eine AJAX-Anfrage handelt, ist für die serverseitige Verarbeitung von entscheidender Bedeutung. Während Methoden wie GET-Parameter oder Header leicht ausgenutzt werden können, ist ein sichererer Ansatz verfügbar.
Lösung: HTTP_X_REQUESTED_WITH-Header-Prüfung
Der HTTP_X_REQUESTED_WITH-Header ist ein gesendeter Standard-Header durch AJAX-Anfragen. Dieser Header ist normalerweise auf „XMLHttpRequest“ oder „xmlhttprequest“ festgelegt. Durch Überprüfen dieses Headers können Sie AJAX-Anfragen zuverlässig identifizieren:
<code class="php">if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') { // We can assume that the request was made with AJAX }</code>
Beispielverwendung
Stellen Sie sich ein PHP-Skript vor, mypage.php:
<code class="php"><?php if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') { // Process AJAX request } else { // Not an AJAX request } ?></code>
Dieses Skript prüft, ob der Header HTTP_X_REQUESTED_WITH vorhanden und auf „XMLHttpRequest“ gesetzt ist. Wenn dies der Fall ist, geht es davon aus, dass es sich bei der Anfrage um eine AJAX-Anfrage handelt, und verarbeitet sie entsprechend. Andernfalls wird die Anfrage als Nicht-AJAX-Anfrage behandelt.
Vorteile
Diese Methode ist sicher, da der HTTP_X_REQUESTED_WITH-Header für AJAX-Anfragen automatisch vom Browser gesendet wird. Es kann von Angreifern nicht einfach gefälscht werden. Darüber hinaus wird es von den meisten modernen Browsern und Serverplattformen unterstützt.
Das obige ist der detaillierte Inhalt vonWie kann ich AJAX-Anfragen in PHP sicher identifizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!