个文件:
1 index.html
2 ajax.php
当用户单击索引文件上的按钮时,会发生AJAX调用,其中某些参数从索引文件内联jquery到ajax.php,并将数据带回到index.html。如何防止用户通过在浏览器中输入url直接访问ajax.php文件。
我知道令牌式的东西,但看起来像是一种破解,我想要更体面的方式。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
执行$_SERVER['HTTP_REFERER']
。仅显示在ajax调用中,不显示在直接浏览器调用中
<?php
if(isset($_SERVER['HTTP_REFERER'])){
//do stiff
}else{
//include your 404 page
}
?>
根据文档HTTP_REFERER as removed or Not trusted one。
我自己的HTTP_REFERER
就足够了。使用这种简单的方法,您需要有所不同
print_r($_SERVER);
您可以看到所有参数。同时运行ajax和直接调用。检查param.use中的差异作为您的明智选择
OR
在调用中设置一些标头