程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php判斷是否是ajax請求

php判斷是否是ajax請求

編輯:關於PHP編程

php判斷是否是ajax請求


為了程序安全上的考慮,我們在某些情況下會需要檢測一個請求是否是 AJAX 請求,該如何去判斷呢?本文就簡要分享一下經驗。

1. 使用原生 JavaScript 發出 ajax 請求時,我們可以給請求頭部添加信息,以方便後端php程序進行區分,方法如下:

var xmlhttp=new XMLHttpRequest(); 
xmlhttp.open("GET","test.php",true); 
xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest"); 
xmlhttp.send();

這裡我們給頭部添加了 X_REQUESTED_WITH 信息,值為 XMLHttpRequest,當然這裡的值是可以隨意設置的,比如:www.phpernote.com。這樣在接收端 php 程序裡面就可以這樣寫:

<?php
// php 判斷是否為 ajax 請求 
if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])&&strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])=='xmlhttprequest'){ 
    // ajax 請求的處理方式 
}else{ 
    // 正常請求的處理方式 
}

2. 目前比較流行的js框架jquery就考慮的比較充分,jQuery 發出 ajax 請求時,會在請求頭部添加一個名為 X-Requested-With 的信息,信息內容為:XMLHttpRequest,所以後端 php 同樣可以用如上代碼來進行判斷。

注意:如果你的jquery請求是通過iframe打開網頁的,那麼HTTP_X_REQUESTED_WITH參數不會被傳遞,也就是說你沒有辦法判斷請求的類型。

您可能感興趣的文章

  • php如何判斷當前的操作系統是linux還是windows
  • PHP判斷一個請求是AJAX請求還是普通請求
  • php判斷字符串是否全英文,純中文,中英文組合的方法
  • PHP判斷服務器SSL是否啟用,也就是判斷是否支持HTTPS連接
  • php判斷遠程文件是否存在的辦法
  • php get_headers 判斷URL是否有效
  • PHP如何判斷一個gif圖片是否為動態圖片(動畫)
  • php如何判斷一個常量是否已經定義

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved