如何限制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");
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3