基本上,我正在检查用户是否已登录,如果没有,我将使用header('location:login.php')重定向到登录页面。
如果浏览器实际上是重定向或服务器,我很困惑?如果是浏览器那么用户是否可以阻止浏览器重定向并查看页面内容?
答案 0 :(得分:0)
是的,它不是重定向的浏览器,而是将PHP发送到浏览器之前。
请确保在exit()
来电后使用header
,并且在header
来电之前没有任何内容输出到浏览器。
答案 1 :(得分:0)
如果“足够”,则表示信息不会暴露给未经过身份验证的任何人,即使他们嗅探网络流量,那么您必须简单地不将响应正文中的信息发送给任何非 - 经过认证的请求。
这样的事情应该足够了:
header('location: login.php');
exit; // make sure not to echo anything in the body
它将导致浏览器接收HTTP标头并启动对login.php的全新请求,同时不会泄露响应中的任何敏感信息。
答案 2 :(得分:0)
好吧,保持简单,检查特定变量并根据它,决定重定向/显示内容是可以的......这样的事情对你有用..
if(your condition){
header(Location: login.php)
exit() or die() ;
}else{
show contents.....}
答案 3 :(得分:-1)
服务器正在重定向。客户端浏览器被定向到服务器通过标头修改发送的页面。用户无法阻止从页面重定向,但 能够在该行重定向代码标头('location:login.php')之后看到内容;
// print to error log before and after header redirect to show code is executed after the redirect
error_log("before redirect");
header('location: login.php');
// this will get get executed. To prevent, exit() script immediately after the header redirect
error_log("after redirect");