一尘不染

阻止从AJAX请求中直接访问PHP文件吗?

ajax

我希望有一个网页使用AJAX来访问PHP文件 ./ajax/file.ajax.php

麻烦的是,我不希望人们能够在浏览器中键入地址来直接访问该PHP文件。

有什么办法可以使只有AJAX请求才能访问该文件?

我可以在PHP文件中检查某些内容来实现此目的吗?


阅读 198

收藏
2020-07-26

共1个答案

一尘不染

如果您使用jQuery制作XHR,它将设置一个自定义标头X-Requested-With。您可以检查并确定如何提供您的回复。

$isXhr = isset($_SERVER["HTTP_X_REQUESTED_WITH"])
         AND strotlower($_SERVER["HTTP_X_REQUESTED_WITH"]) == "xmlhttprequest";

但是,这对于欺骗是微不足道的。过去,我曾用它来决定是渲染整个页面(如果未设置)还是呈现页面片段(如果设置,将被注入当前页面)。

2020-07-26