当前位置: 首页 > 面试题库 >

服务器如何检查不是来自站点的ajax请求,X-Requested-With

华鹭洋
2023-03-14
问题内容

我读到检查ajax请求的X-Requested-
With标头是确保请求不来自外部的好方法。在服务器端,如何检查此标头?缺少或错误处理此标头的正确方法是什么(重定向,抛出异常等)?


问题答案:

您可以像这样检查它…

$isAjax = isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND 
          strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest';

如果 希望通过XHR访问,那么只要exit不存在此标头即可。

注意 :此标头对于欺骗是微不足道的。不要依赖它,但是 看起来它来自na XHR



 类似资料:
  • 问题内容: 如何检查是否从同一服务器发送了请求? 说,我的网域位于www.domain.com。现在,我有php处理文件,它将处理通过该域托管的表单。仅当请求是从域内发送时才执行此过程。www.domain.com以及从其他域发送的任何其他请求将被丢弃。 问题答案: 基本上:您不能。 使用HTTP协议,每个请求彼此独立。 第一个想法是检查Referer HTTP标头,但请注意: 可以伪造 (由浏览

  • 问题内容: 我需要从一个网站向另一个域中托管的REST Web服务发出AJAX请求。 尽管这在Internet Explorer中很好用,但是其他浏览器(例如Mozilla和Google Chrome)强加了更加严格的安全性限制,这些限制禁止跨站点AJAX请求。 问题是我无法控制站点所在的域或Web服务器。这意味着我的REST Web服务必须在其他地方运行,并且我无法采用任何重定向机制。 这是进行

  • 问题内容: 浏览器不允许跨站点AJAX调用(这是安全限制)。有没有可能的解决方案? 编辑 我只控制来电者的网站 问题答案: 如果您控制双方,那么会有很多选择。例如JSONP,或修改远程网站的标头响应。 不幸的是 ,只有在远程网站支持的情况下,JSONP才有效。您 不能 将JSONP调用强制到尚不支持它的网站。 但是,正如您所说,您只能控制源网站。出于明显的原因,您无法绕过此限制来入侵浏览器。您确实

  • 问题内容: 我想检查服务器端是否对我的php页面的请求是ajax请求。 我看到了两种方法可以做到这一点: 第一种方法:在请求中发送一个参数,该参数告诉页面这是AJAX请求(= ) mypage.php: 第二种方式:将标头设置为: 客户端js: mypage.php: 事实是,这两种方法很容易被黑,因此检查我是否收到这样的AJAX请求并不安全。 如何检查我是否收到AJAX请求? 问题答案: 没有确

  • 我最近在我的(prestashop)网站上安装了一个SSL证书。我的网站不会diplay一个绿色的酒吧,因为:混合内容:在'网站'的页面加载HTTPS,但要求一个不安全的样式表http://fonts.googleapis.com/css?family=OpenSans:400,800,300,700。此请求已被阻止;内容必须通过HTTPS服务。我甚至不使用这种字体。我检查了一些css文件和tpl

  • 问题内容: 我使用PHP后端通过检查中的值来检测AJAX请求。 这给了我一个可靠的检测,确保使用AJAX技术发出请求。 如何确保请求来自我自己的域,而不是外部域/机器人? www.example.com/ajax?true可能允许任何人进行AJAX呼叫并削减信息。 我可以为通常进入我的网站的每个人进行会话,然后允许AJAX调用..但是也可以伪造。 这些天都重要吗? 问题答案: 让你控制 生成访问令