首頁  >  文章  >  後端開發  >  如何安全地識別 PHP 中的 AJAX 請求?

如何安全地識別 PHP 中的 AJAX 請求?

Patricia Arquette
Patricia Arquette原創
2024-11-05 19:56:02595瀏覽

How Can I Securely Identify AJAX Requests in PHP?

在 PHP 中安全偵測 AJAX 請求

檢查傳入請求是否為 AJAX 請求對於伺服器端處理至關重要。雖然 GET 參數或標頭等方法很容易被利用,但還有更安全的方法。

解決方案:HTTP_X_REQUESTED_WITH 標頭檢查

HTTP_X_REQUESTED_WITH 標頭是發送的標準標頭通過 AJAX 請求。此標頭通常設定為“XMLHttpRequest”或“xmlhttprequest”。檢查此標頭,您可以可靠地識別AJAX 請求:

<code class="php">if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') {
    // We can assume that the request was made with AJAX
}</code>

範例用法

考慮PHP 腳本mypage.php:

<code class="php"><?php

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') {
    // Process AJAX request
} else {
    // Not an AJAX request
}

?></code>

此腳本檢查HTTP_X_REQUESTED_WITH 標頭是否存在並設定為「XMLHttpRequest」。如果是,則假定該請求是 AJAX 請求並繼續進行相應的處理。否則,它將將該請求作為非 AJAX 請求處理。

優點

此方法是安全的,因為 HTTP_X_REQUESTED_WITH 標頭是由瀏覽器針對 AJAX 請求自動發送的。攻擊者無法輕易偽造它。此外,大多數現代瀏覽器和伺服器平台都支援它。

以上是如何安全地識別 PHP 中的 AJAX 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn