Cor*_*Dee 3 php redirect web-applications infinite-loop
这是我的网页:
重定向页面:如果用户具有打开的会话,则重定向到正确的资源,否则重定向到登录页面
登录页面:如果用户登录信息有效,重定向到$ _SERVER ['HTTP_REFERER'],否则显示登录页面
当您访问重定向页面时,它会发现您没有有效的会话并重定向到登录页面.然后您可以登录没有问题,但在身份验证后我收到"此网页有一个重定向循环." Chrome页面.
这不是一个真正的循环,因为有几种方法(IE提供有效的登录详细信息并转到目标资源,提供无效登录和接收错误消息等).但我可以看到浏览器的混乱(从a到b再到a).
我有什么想法可以解决这个问题吗?
干杯
$ _SERVER ['HTTP_REFERER']将始终是登录页面,因为您必须在成功登录之前加载登录页面.因此,一旦您成功登录,引用者就是登录页面,因此登录页面会将您重定向到您仍然成功登录的登录页面,因此它会一遍又一遍地登录您.
您可能应该在$ _SESSION或$ _COOKIE变量中存储他们试图访问的页面,而不是依赖$ _SERVER ['HTTP_REFERER'].最有可能的会话会更好,具体取决于您的设置.