Home > Article > Backend Development > unset火狐无效
unset($_SESSION['user']);
火狐无效,谷歌是OK的,不知道为啥,火狐是不是有什么特别要求
还有用火狐F12,会有安全问题,提示“密码字段出现在一个不安全的页面(http://)中。这是一个导致用户的登陆凭据可被窃取的安全风险。”
使用POST提交的用户名和密码,但是用了iframe来获取处理登陆的php的内容,是不是这样做不安全
提示“密码字段出现在一个不安全的页面(http://)中。这是一个导致用户的登陆凭据可被窃取的安全风险。”
意思就是你的密??出去?是明文,?有加密,容易被?取。用https就不?提示的。?句?可以不理的。
是用?名和密?post到iframe ?面做???? 不?不安全啊。
unset($_SESSION['user']) 不行?? ?句是在iframe?面?
unset($_SESSION['user'])
这句直接写在一个logout.php里,
点击“退出”就会连接到这个文件,火狐里没法注销这个session,谷歌和360是正常的
用firefox测试了一下。
a.php
<?phpsession_start();$_SESSION['user'] = 'fdipzone';?>
<?phpsession_start();if(isset($_SESSION['user'])){ unset($_SESSION['user']); var_dump($_SESSION['user']);}?>
var_dump 输出是NULL
找到原因了,原来是火狐回退不会刷新页面,判断登陆状态的js没有执行
logout.php 里是这么写的
unset($_SESSION['user']);
echo "<script> history.go(-1)</script>";
火狐回退,$(document).ready(function(){}里的函数为啥不会运行呢
谷歌是会运行的
看?是你的firefox有??了。???了,一切正常。
重新下了个火狐,还是一样,这情况是在太怪了
以前写验证码类的时候碰到过这个问题
window.onload的时候,我刷新了验证码图片
火狐提交表单再后退验证码不变,IE刷新
当时查了下资料,火狐的内核会为所有选项卡各自在内存中保存历史记录,当发生回退时其实仅仅读取了内存,js运行状态也就保存了下来。而IE内核的回退就好像是直接输入地址一样
echo "<script> history.go(-1)</script>";
改成跳转header("Location:xx.php");试试
session 是存放在服务器上的
只要浏览器能传递正确的 sessionid ,其他的就与浏览器无关了
unset($_SESSION['user']);
并不能注销 session,而只是从 session中删去了 uesr 项
显然这句是有条件执行的,所以你应检查删除的条件是否成立
而传递删除条件就与浏览器有关了
以前写验证码类的时候碰到过这个问题
window.onload的时候,我刷新了验证码图片
火狐提交表单再后退验证码不变,IE刷新
当时查了下资料,火狐的内核会为所有选项卡各自在内存中保存历史记录,当发生回退时其实仅仅读取了内存,js运行状态也就保存了下来。而IE内核的回退就好像是直接输入地址一样
echo "<script> history.go(-1)</script>";
改成跳转header("Location:xx.php");试试
session 是存放在服务器上的
只要浏览器能传递正确的 sessionid ,其他的就与浏览器无关了
unset($_SESSION['user']);
并不能注销 session,而只是从 session中删去了 uesr 项
显然这句是有条件执行的,所以你应检查删除的条件是否成立
而传递删除条件就与浏览器有关了
那这个问题有啥办法解决不
用header('location: '.$_SERVER['HTTP_REFERER']);解决了,多谢大家