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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何不让用户直接从AJAX使用的浏览器访问php文件?相关的知识,希望对你有一定的参考价值。

我有的文件: 1 index.html 2 ajax.php

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

我知道象征性的东西,但它看起来像一个黑客,我想要更体面的方式。

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

答案

使用$_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中的差异作为明智的

要么

在调用中设置一些标题

Prevent Direct Access To File Called By ajax Function

以上是关于如何不让用户直接从AJAX使用的浏览器访问php文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用ajax下载文件

如何使用 php/jquery 实现持久页面?

用户直接访问php文件时如何使页面空白?

使用 Elasticsearch 进行 AJAX 通信的流量和访问控制解决方案?

PHP 脚本如何向 Dojo 的 xhrGet 发送 JSON Ajax 响应?

如何使用PHP让网页直接跳转