如何限制直接存取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中文網其他相關文章!