首页 >后端开发 >php教程 >如何防止Ajax调用的文件直接访问?

如何防止Ajax调用的文件直接访问?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-13 00:42:02853浏览

How to Prevent Direct Access to Files Called by Ajax?

如何限制直接访问 Ajax 调用的文件

利用 Ajax 调用 PHP 代码时,如查询所示,数据通过检查请求标头,正在传输的数据可能很容易暴露。虽然数据可能不是保密的,但其被利用的可能性仍然存在。

为了解决这个问题,一个常见的解决方案是利用 HTTP_X_REQUESTED_WITH 标头。该标头通常由 Ajax 请求/框架设置,可以区分 Ajax 和非 Ajax 请求。以下代码片段展示了其实现:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access within Ajax requests
} else {
    // Block access outside of Ajax requests
}

在 Javascript 代码中,您可以手动设置此标头:

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");

以上是如何防止Ajax调用的文件直接访问?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn