头重定向的安全性如何?可以绕过吗?

时间:2012-02-22 23:51:45

标签: php security redirect header location

标题重定向的安全性如何?据我了解,标题信息指示浏览器做什么。因此,如果标题位置设置为其他位置,浏览器是否仍然可以登陆初始页面?

if(!$loggedin){
header('Location: someotherpage.php')
}

如果有人(咳嗽)忘了在标题后面使用退出命令,有人还可以登陆该页吗?

3 个答案:

答案 0 :(得分:8)

  

如果有人(咳嗽)忘了在标题后面使用退出命令,有人还可以登陆该页吗?

当然 - 而不是 land 在该页面上(他已经拥有),忘记exit()意味着客户端仍然可以查看之后发出的任何数据线。在收到Location:标头后,没有人可以强制客户端立即离开。这一行动完全是自愿的。

答案 1 :(得分:0)

是的,当然。这就是为什么在您希望避免显示非法信息的情况下,在重定向之后其他人应该遵循(或退出)的原因。如果使用自定义请求,他们可以轻松查看重定向请求后面的内容,这是一个相当标准的安全问题。

答案 2 :(得分:0)

是。有可能仍然登陆该页面,你不能强迫'位置'。如果页面抛出“已发送标题”错误,也可能“意外地”加载页面的其余部分。 优良作法是在发送exit;后使用header('Location...')

请参阅PHP函数:headers_sent