首页  >  文章  >  后端开发  >  如何安全识别 PHP 中的 AJAX 请求?

如何安全识别 PHP 中的 AJAX 请求?

Patricia Arquette
Patricia Arquette原创
2024-11-05 19:56:02595浏览

How Can I Securely Identify AJAX Requests in PHP?

在 PHP 中安全检测 AJAX 请求

检查传入请求是否是 AJAX 请求对于服务器端处理至关重要。虽然 GET 参数或标头等方法很容易被利用,但还有更安全的方法。

解决方案:HTTP_X_REQUESTED_WITH 标头检查

HTTP_X_REQUESTED_WITH 标头是发送的标准标头通过 AJAX 请求。此标头通常设置为“XMLHttpRequest”或“xmlhttprequest”。通过检查此标头,您可以可靠地识别 AJAX 请求:

<code class="php">if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') {
    // We can assume that the request was made with AJAX
}</code>

示例用法

考虑 PHP 脚本 mypage.php:

<code class="php"><?php

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') {
    // Process AJAX request
} else {
    // Not an AJAX request
}

?></code>

此脚本检查 HTTP_X_REQUESTED_WITH 标头是否存在并设置为“XMLHttpRequest”。如果是,则假定该请求是 AJAX 请求并继续进行相应的处理。否则,它将将该请求作为非 AJAX 请求处理。

优点

此方法是安全的,因为 HTTP_X_REQUESTED_WITH 标头是由浏览器针对 AJAX 请求自动发送的。攻击者无法轻易伪造它。此外,大多数现代浏览器和服务器平台都支持它。

以上是如何安全识别 PHP 中的 AJAX 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn