我有这样的事情:
$.getJSON('/scripts/commons/theScriptDoTravelBackInTime.php',{
}, function(){
// etc.. etc...
}
});
有没有办法阻止php脚本只是通过直接调用来执行 地址栏如http://www.myserver/scripts/commons/theScriptDoTravelBackInTime.php?
可能输出一个回音“嘿,不作弊!”
答案 0 :(得分:2)
基本,不是100%安全,但通常是引用
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
//your code
}
答案 1 :(得分:0)
您可以查看HTTP-Referer数据。如果它是空白的,那么它来自键入或粘贴URL。如果它不是空白,那么该字段将显示链接的来源。
答案 2 :(得分:0)
这是kohana框架使用的:
public static function is_ajax()
{
return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest');
}
答案 3 :(得分:0)
如果使用zend框架,有一种很好的检查方法
if($this->_request->isXmlHttpRequest())
{
//The request was made with JS XmlHttpRequest
}