首頁 >後端開發 >php教程 >如何防止Ajax呼叫的檔案直接存取?

如何防止Ajax呼叫的檔案直接存取?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-13 00:42:02917瀏覽

How to Prevent Direct Access to Files Called by Ajax?

如何限制直接存取Ajax 呼叫的檔案

利用Ajax 呼叫PHP 程式碼時,如查詢所示,資料透過檢查請求標頭,正在傳輸的數據可能很容易暴露。雖然資料可能不是保密的,但其被利用的可能性仍然存在。

為了解決這個問題,一個常見的解決方案是利用 HTTP_X_REQUESTED_WITH 標頭。此標頭通常由 Ajax 請求/框架設置,可以區分 Ajax 和非 Ajax 請求。以下程式碼片段展示了其實作:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access within Ajax requests
} else {
    // Block access outside of Ajax requests
}

在 Javascript 程式碼中,您可以手動設定此標頭:

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

以上是如何防止Ajax呼叫的檔案直接存取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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