如何防止直接访问通过 AJAX 访问的文件
构建 AJAX 请求时,保证数据的安全至关重要正在转移。如果请求方法是GET,则可以通过检查请求标头轻松查看数据。虽然上述重复问题中提供的解决方案似乎无法解决问题,但有一种替代方法可以有效防止直接访问目标文件。
解决方案:
要选择性地授予对 AJAX 请求的访问权限,同时拒绝对文件的直接访问,您可以利用 HTTP_X_REQUESTED_WITH 服务器变量。大多数 AJAX 框架和库都将此变量设置为 XMLHttpRequest。使用此变量,您可以在 PHP 文件(例如 func.php)中实现以下检查:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) { // Allow access since this is an AJAX request } else { // Deny access since this is a direct request }
集成标头:
以确保您的 AJAX 请求包含 X-Requested-With 标头,请在发送请求之前将以下行添加到您的 JavaScript 代码中:
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
有效性:
通过实施使用此解决方案,您可以有效限制对目标文件的直接访问,同时允许来自授权源的 AJAX 请求。这有助于防止潜在的数据滥用或安全漏洞。
以上是如何防止直接访问通过 AJAX 访问的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!