首页 >后端开发 >php教程 >如何安全地验证 PHP 中的请求来源,而不是依赖不可靠的 HTTP_REFERER?

如何安全地验证 PHP 中的请求来源,而不是依赖不可靠的 HTTP_REFERER?

Patricia Arquette
Patricia Arquette原创
2024-12-21 19:21:11427浏览

How Can I Securely Verify the Origin of Requests in PHP Instead of Relying on the Unreliable HTTP_REFERER?

在 PHP 中确定 Referer:可靠且安全的方法

在 PHP 中,HTTP_REFERER 服务器变量可以指示发送或调用当前页面的页面页。然而,由于其不可靠性,需要更安全的方法。本文讨论了一种更好的方法来验证请求的来源并确保它们来自您的站点内部。

为什么 HTTP_REFERER 不可靠

HTTP_REFERER 是由客户端的浏览器,并且很容易被伪造或缺失。这使得它在安全方面变得不可靠。

验证请求来源

不要依赖 HTTP_REFERER,请考虑使用以下方法:

  • Cookies:Cookies 通过 AJAX 请求发送,允许您验证用户是否与您的网站进行了交互。通过设置和检查cookie,您可以验证用户身份或跟踪他们在您网站上的浏览历史记录。

示例代码:

// Set a cookie to track user activity
setcookie("visited_my_site", true);

// Check if the cookie has been set, indicating a previous visit to your site
if (isset($_COOKIE["visited_my_site"])) {
  // Request is coming from your site.
}

结论

虽然 HTTP_REFERER 可以提供一些信息,但它的不可靠性使得它不适合安全目的。通过使用 cookie,您可以可靠地验证请求的来源并确保它们来自您的站点内。这种方法为验证用户身份并防止未经授权的访问提供了更安全的解决方案。

以上是如何安全地验证 PHP 中的请求来源,而不是依赖不可靠的 HTTP_REFERER?的详细内容。更多信息请关注PHP中文网其他相关文章!

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