php怎么判断是不是ajax请求
xiaoqihv php教程 553阅读
在php脚本中,可以通过判断 $_SERVER["HTTP_X_REQUESTED_WITH"] 是否存在以及其值的类型,来判断数据是不是通过 js ajax方法来提交的,这对php的安全性是很有帮助的。
php 判断是否ajax提交的方法
当 $_SERVER["HTTP_X_REQUESTED_WITH"] 存在并且其值为"xmlhttprequest"时,可认为数据是通过ajax提交的。
例1:
//73so.comif(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) == 'xmlhttprequest'){ echo '是ajax的请求!';}else{ echo '不是ajax的请求';}
例2:
/** * @name 判断是否为 ajax 提交 * * @return bool * @host 73so.com */function isAjax(){ return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';}
PS:如果ajax是跨域提交的数据,php通过上面的方法是无法来判断是否为ajax提交的。即使在提交时,html头中包含了'HTTP_X_REQUESTED_WITH' 协议,也是无法做出判断的,这一点要注意。
标签: