繁体   English   中英

PHP中的跨域验证

[英]Cross-domain validation in PHP

我目前正在开展一个围绕以下方面的项目:

第1页(domain1)重定向到第2页(domain2)重定向到第3页(domain2)

我想确保除非确认用户先访问过第1页,否则不会显示内容。 出于显而易见的原因,我不能使用会话和cookie,因为domain1和domain2是两个独立的域。

$ _SERVER ['HTTP_REFERER']是一种可能的解决方案,但它可以被修改甚至从浏览器请求中删除,因此我无法保证不会因为使用它而无意中阻止合法用户。

我该怎么做呢?

是。 没有浏览器的直接请求,您无法设置cookie。

您可以在从http:// page1重定向到http:// page2 /?token = hash_function ($ salt,$ user_ip)时传递令牌

更复杂的方法是使用page1在域上生成令牌,并使用从page2服务器到page1服务器的直接请求重新检查它。 这允许您创建“一次性”令牌,甚至用户在会话期间更改了他的IP(非常罕见的情况) - 此重定向仍然有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM