我目前正在开展一个围绕以下方面的项目:
第1页(domain1)重定向到第2页(domain2)重定向到第3页(domain2)
我想确保除非确认用户先访问过第1页,否则不会显示内容。出于显而易见的原因,我不能使用会话和cookie,因为domain1和domain2是两个独立的域。
$ _ SERVER ['HTTP_REFERER']是一种可能的解决方案,但它可以从浏览器请求中修改甚至删除,因此我无法保证不会无意中阻止合法用户使用它。
我该怎么做呢?
答案 0 :(得分:0)
是。如果没有浏览器的直接请求,您就无法设置cookie。
您可以在从http://page1重定向到http://page2/?token=hash_function($ salt,$ user_ip)时传递令牌。
更复杂的方法是使用page1在域上生成令牌,并使用从page2服务器到page1服务器的直接请求重新检查它。这允许您创建“一次性”令牌,甚至用户在会话期间更改了他的ip(非常罕见的情况) - 此重定向仍然有效。