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

如何使用PHP检查请求是否为AJAX请求

秦胡媚
2023-03-14
问题内容

我想检查服务器端是否对我的php页面的请求是ajax请求。

我看到了两种方法可以做到这一点:

第一种方法:GET在请求中发送一个参数,该参数告诉页面这是AJAX请求(= mypage.php?ajax

mypage.php:

if(isset($_GET['ajax'])) {
    //this is an ajax request, process data here.
}

第二种方式:将标头设置为xmlHttpRequest

客户端js:

xmlHttpRequestObject.open(“GET”,url,true);
xmlHttpRequestObject.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

mypage.php:

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {
    //request is ajax
}

事实是,这两种方法很容易被黑,因此检查我是否收到这样的AJAX请求并不安全。

如何检查我是否收到AJAX请求?


问题答案:

没有确定的方法可以知道通过Ajax发出了请求。您永远无法信任来自客户端的数据。您可以使用几种不同的方法,但是通过欺骗可以轻松克服它们。



 类似资料:
  • 本文向大家介绍php检查是否是ajax请求的方法,包括了php检查是否是ajax请求的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php检查是否是ajax请求的方法。分享给大家供大家参考。具体如下: 通过这段代码可以判断用户的请求是否来自AJAX XMLHttpRequest,以区别普通post,get和ajax 希望本文所述对大家的php程序设计有所帮助。

  • 问题内容: 有没有一种方法可以检查Python中的请求是否为AJAX? 相当于PHP的? 问题答案: 如果AJAX框架在其请求中设置了X-Requested-With标头,则您将能够使用该标头来检测AJAX调用。这取决于客户端框架。 掌握HTTP标头取决于您选择的Python框架。在Django中,对象具有可以直接使用的方法。

  • 问题内容: 在我的动作中,我只希望响应从AJAX请求中调用的处理。我该如何检查? 我想做这样的事情: 问题答案: 您可以检查是否为AJAX请求。这是一篇很好的文章。 这是一个例子:

  • 问题内容: 我试过了,但这在WebForms中不存在。我正在进行JQuery ajax调用。如何在C#中检查这是否是ajax请求? 问题答案: 您可以创建自己的扩展方法,就像MVC代码中的方法一样 例如 查尔斯· HTH 编辑: 实际上,回调请求也是ajax请求,

  • 问题内容: 如何检查请求是否为AJAX?我正在使用CodeIgniter。我有一个链接,当单击该链接时,它将打开弹出对话框窗口,此操作是通过ajax完成的,它请求输入控制器名称。 CodeIgniter jQuery的 我想检查是否是AJAX请求,如果不是,我会将其重定向到主页。因此,他们无法访问仅用于ajax请求的页面。 问题答案: 如果您使用的是发送标头的库,则可以…

  • 问题内容: 我正在提出请求,然后在我中止之后。 问题在于它执行函数并返回空数据… (此处为示例) 是否有jQuery方法可以中止?或有没有办法检查是否被中止? 问题答案: 我发现这里的将状态恢复。似乎是jQuery 1.4+错误。从1.3开始,它称为错误处理程序。