标头重定向的安全性如何?据我所知,标题信息指示浏览器该做什么。因此,如果标题位置设置在其他位置,浏览器还能在初始页面上着陆吗?
if(!$loggedin){
header('Location: someotherpage.php')
}
如果有人(咳嗽咳嗽)忘记在标题后使用退出命令,有人还能在那一页上着陆吗?
如果有人(咳嗽咳嗽)忘记在标题后使用退出命令,有人还能在那一页上着陆吗?
当然,忘记exit()
意味着客户端仍然可以看到在这些行之后发出的任何数据,而不是在那个页面上着陆(他已经有了)。任何人都不能强制客户端在收到Location:
标头后立即离开。这种行动完全是自愿的。
当然。这就是为什么在您希望避免显示非法信息的情况下,重定向后应该跟随(或退出)else。如果使用自定义请求,他们可以很容易地查看重定向请求后的内容,这是一个非常标准的安全问题。
是。仍然可以登录到该页面,但不能强制使用"位置"。如果页面抛出"已发送的标头"错误,也可能"意外"加载页面的其余部分。在发送header('Location...')
之后使用exit;
是一种良好的做法。
请参阅PHP函数:headers_sent