Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich AJAX-Anfragen in PHP sicher identifizieren?

Wie kann ich AJAX-Anfragen in PHP sicher identifizieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-05 19:56:02594Durchsuche

How Can I Securely Identify AJAX Requests in PHP?

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!

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