在PHP中确定引荐来源

时间:2020-03-06 15:03:53  来源:igfitidea点击:

确定当前页面发送或者调用(通过AJAX)页面的最可靠,最安全的方法是什么。由于(缺乏)可靠性,我不想使用$ _SERVER ['HTTP_REFERER']`,我需要被调用的页面仅来自于源自我网站的请求。
编辑:我正在寻找验证正在执行一系列操作的脚本是从我的网站页面上调用的。

解决方案

客户端浏览器发送的REFERER作为HTTP协议的一部分,因此确实不可靠。它可能不存在,可能是伪造的,如果出于安全原因,我们就是无法信任它。

如果我们想验证请求是否来自站点,那么我们可以这样做,但是我们可以验证用户是否已访问站点和/或者已通过身份验证。 Cookie是在AJAX请求中发送的,因此我们可以依靠它。

没有可靠的方法来检查这一点。告诉我们它的确切来源完全在客户的掌握下。我们可以想象使用仅在网站某些页面上放置的cookie或者会话信息,但是这样做会破坏书签的用户体验。