我最近开始在 PHP 中编写大量支持 AJAX 的脚本,事实是,AJAX 调用访问的文件也可以直接使用,如何禁用它?
最佳答案
您无法可靠地防止这种情况发生。关键真的不是将直接访问此文件的人视为安全问题 - 为这做可能的计划,您将处于更安全的地方。
有些人可能会推荐看起来像这样(或类似)的代码:
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
// more code here
}
然而,事实是 HTTP header 很容易被欺骗,并且不是保护代码的一种手段。不久前我在一个繁忙的网站上进行测试时,我注意到这些 header 实际上并不那么可靠。
关于php - AJAX 只能访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1393904/