检查是否未通过ajax请求您的页面?

Ali*_*Ali 2 javascript php ajax

我设置了一些页面,以便它们只响应ajax请求.问题是我如何设置它,以便如果有人试图通过浏览器窗口发送请求,即输入它们 - 它们不会运行,并且只有在进行ajax调用时它们才会运行.页面在这里是php

Dar*_*rov 12

没有可靠的方法来区分AJAX请求和正常请求.某些库(如jQuery)X-Requested-With: XMLHttpRequest在请求中附加额外的HTTP标头,但其他库可能不会.您可以使用浏览器提供的低级别对象伪造AJAX请求,这些对象看起来与普通请求完全相同,因此不要太依赖.


med*_*iev 5

define('XHR', (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'));
Run Code Online (Sandbox Code Playgroud)

如果您使用JS设置http标头(在jQuery中自动完成),请使用此常量.