嘿,我想知道是否有办法在使用ajax时只查看你的文件。例如 我有ajax设置等我提出了一个请求,但任何人都可以找出我的文件夹结构,并转到我的PHP文件,任何事情都可能发生,如果他们试图访问该文件我想扔给他们404。我没有尝试任何东西,因为我没有最小的线索。 你需要使用.htaccess吗?
我试图在互联网上搜索这个我找不到任何东西所以如果有其他类似的帖子让我知道并给我一个链接谢谢你。
答案 0 :(得分:1)
不容易做到。
Ajax与任何其他HTTP访问一样,都是通过请求完成的。正常请求使用GET
方法完成,就像有GET
Ajax请求方法一样。
我遇到的情况是你的时间不长,我的解决方案虽然远非完美,但却是:
POST
方法; 将此添加到您应该通过Ajax获取的每个PHP开头的include
/ require
文件中:
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
header('Location: /404page.php'); //The / represents the site root
exit;
}
这样,尝试直接打开您网页的用户将被重定向到404页面。
当然,人们很容易伪造POST请求标头。您还可以为每个Ajax调用添加一个POST参数,但是一个可以伪造标题的参数也很容易伪造POSTed数据。
只需进行强大的服务器端验证,以确保用户有权查看该页面,并确保其应该收到的所有数据都存在且有效。如果有人在请求标题中乱七八糟地看到你的应用程序之外的丑陋页面,那么毕竟不是你的问题。