这是一个非常非常正常的事情!
Session建立之后,它的相关属性比如说存在时间等!在PHP.ini中都有相关的设定!如果不解除相关session,只要知道地址当然是可以窜来窜去的了!
你可以感觉一下,你关闭IE之后,再直接贴上去地址,看能不能进入!如果可以的话说明,你的session 的存在时间是不随你的IE的关闭而取消的!反之。具体相关说明请查看http://www.obird.com/obird/words_view.php?id=33
Session建立之后,它的相关属性比如说存在时间等!在PHP.ini中都有相关的设定!如果不解除相关session,只要知道地址当然是可以窜来窜去的了!
你可以感觉一下,你关闭IE之后,再直接贴上去地址,看能不能进入!如果可以的话说明,你的session 的存在时间是不随你的IE的关闭而取消的!反之。具体相关说明请查看http://www.obird.com/obird/words_view.php?id=33
如果进不去就不正常了.
不过不登录是不会进去的.
若是从地址栏输入地址进入,则$_SERVER['HTTP_REFERER']为空
if (document.referrer=="")
{
location.href="error.htm";
}
</script>
呵呵,这样比较狠一点
你在session里面加入页面文件名的信息不就行了,进入页面时判断一下就OK了,不是这个页面就不行嘛~~
if (!session_is_registered($username)){
header("location: error.php");
}
else{
echo "session已注册!!";
}
<?php
session_start();
if(empty($_SERVER['HTTP_REFERER']) && basename($_SERVER['PHP_SELF']) != "login.php") {
header("Location: login.php");
echo "尚未登录!";
}
....
session_start();
if(empty($_SERVER['HTTP_REFERER']) && basename($_SERVER['PHP_SELF']) != "login.php") {
header("Location: login.php");
echo "尚未登录!";
}
?>
如果你一定要这样做,对上一页面的路径进行判断也可以!