PHP关于COOKIE和SESSION的使用

来源:百度知道 编辑:UC知道 时间:2024/06/21 15:48:45
我写了一个登陆程序,用SESSION来识别是否登陆!有以下文件:Log.php,Admin.php;
Log.php是登陆页面,用于检验密码是否正确,
正确便设置$_SESSION[pass]=true,然后转入Admin.php页面,
现在问题来了,假如我不登陆Log.php就直接在IE地址栏里输入Admin.php,那肯定进不去,那我就从Log.php登陆后便可以进Admin.php,现在我登陆Log.php,也进入了Admin.php,然后我不关掉IE,在IE里输入其他网址后(离开Admin.php页面),再次直接进去Admin.php,便成功了,这说明离开Admin.php页面的时候,$_SESSION[pass]并没有销毁,我不想在页面加入一个注销的连接来手动销毁$_SESSION[pass],想让他离开Adin.php页面自动销毁$_SESSION[pass];请问怎么办?
那举个例子
像网易的登陆页面,输入账号和密码后回他会跳转到reg.163.com/CheckUser.jsp页面.假如我登陆后不关掉IE,离开登陆后的页面,再直接地址栏里输入reg.163.com/CheckUser.jsp他就提示请输入密码和账号,请问这个是怎么做的?

原则上,你的逻辑是有误的;
因为SESSION本身有个超时时长。
你不关闭IE,而是输入别的地址, 在SESSION 超时前,仍然是有效的,这是很正常的逻辑

你应该给 admin.php 加一个注销按钮之类的, 让别人手动去注销,这是合乎逻辑的。

关注一下

如果是asp.net的话
每个页面有个page_unload事件,可以在这个事件中销毁session
php刚开始学习,不清楚有没有类似的东西。

但html
<body>有onunload事件,应该可以配合JavaScript实现。

<body onUnload="">

结束会话用session_destory()

关注中!!!!!!!!!