注意:这个问题是关于重定向而不是重定向本身的安全性。
场景:用户想要访问某个页面 - 但他没有登录 - 所以我将所需的页面存储在GET参数中 - 并且在成功登录后,用户被重定向到所需的页面。
但是我当然不相信GET参数 - 如何解决这个问题?
我想出了2个选项:
1)将它存储在会话变量中 - 这应该提供可靠的来源,因为我的域是唯一可以使用其会话变量的主题 - 好主意与否?
2)检查所需的网址是否以“/
”开头,这意味着该网址基于root =>值得信赖,这是可靠的吗?我可以信任if( $_GET['redirect'][0] == "/" ) header('Location: '.$_GET['redirect']);
吗?