如何限制直接访问 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中文网其他相关文章!