hi,欢迎访问本站!
当前位置: 首页编程开发正文

php怎么判断是不是ajax请求

墨初 编程开发 581阅读

在php脚本中,可以通过判断 $_SERVER["HTTP_X_REQUESTED_WITH"] 是否存在以及其值的类型,来判断数据是不是通过 js ajax方法来提交的,这对php的安全性是很有帮助的。

php 判断是否ajax提交的方法

当 $_SERVER["HTTP_X_REQUESTED_WITH"] 存在并且其值为"xmlhttprequest"时,可认为数据是通过ajax提交的。

例1:

//73so.com
if(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' 协议,也是无法做出判断的,这一点要注意。

标签:
声明:无特别说明,转载请标明本文来源!
相关推荐