如何不让用户直接从AJAX使用的浏览器访问php文件?

时间:2019-03-11 06:58:45

标签: javascript php jquery ajax

我拥有的

个文件:
1 index.html
2 ajax.php

当用户单击索引文件上的按钮时,会发生AJAX调用,其中某些参数从索引文件内联jquery到ajax.php,并将数据带回到index.html。如何防止用户通过在浏览器中输入url直接访问ajax.php文件。

我知道令牌式的东西,但看起来像是一种破解,我想要更体面的方式。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

执行$_SERVER['HTTP_REFERER']。仅显示在ajax调用中,不显示在直接浏览器调用中

<?php
  if(isset($_SERVER['HTTP_REFERER'])){
    //do stiff
  }else{
     //include your 404 page 
  }
 ?>

根据文档HTTP_REFERER as removed or Not trusted one

我自己的HTTP_REFERER就足够了。使用这种简单的方法,您需要有所不同

print_r($_SERVER);您可以看到所有参数。同时运行ajax和直接调用。检查param.use中的差异作为您的明智选择

OR

在调用中设置一些标头

Prevent Direct Access To File Called By ajax Function