提示“密码字段出现在一个不安全的页面(http://)中。这是一个导致用户的登陆凭据可被窃取的安全风险。”
意思就是你的密碼傳出去時是明文,沒有加密,容易被竊取。用https就不會提示的。這句話可以不理的。是用戶名和密碼post到iframe 裏面做驗證嗎? 不會不安全啊。unset($_SESSION['user']) 不行嗎? 這句是在iframe裏面?
意思就是你的密碼傳出去時是明文,沒有加密,容易被竊取。用https就不會提示的。這句話可以不理的。是用戶名和密碼post到iframe 裏面做驗證嗎? 不會不安全啊。unset($_SESSION['user']) 不行嗎? 這句是在iframe裏面?
这句直接写在一个logout.php里,
点击“退出”就会连接到这个文件,火狐里没法注销这个session,谷歌和360是正常的
a.php<?php
session_start();
$_SESSION['user'] = 'fdipzone';
?>
b.php<?php
session_start();
if(isset($_SESSION['user'])){
unset($_SESSION['user']);
var_dump($_SESSION['user']);
}
?>
var_dump NULL 很正常。如果真的不能unset,可以执行$_SESSION['user'] = NULL;
找到原因了,原来是火狐回退不会刷新页面,判断登陆状态的js没有执行
logout.php 里是这么写的
unset($_SESSION['user']);
echo "<script> history.go(-1)</script>";
谷歌是会运行的
window.onload的时候,我刷新了验证码图片
火狐提交表单再后退验证码不变,IE刷新
当时查了下资料,火狐的内核会为所有选项卡各自在内存中保存历史记录,当发生回退时其实仅仅读取了内存,js运行状态也就保存了下来。而IE内核的回退就好像是直接输入地址一样
改成跳转header("Location:xx.php");试试
只要浏览器能传递正确的 sessionid ,其他的就与浏览器无关了unset($_SESSION['user']);
并不能注销 session,而只是从 session中删去了 uesr 项
显然这句是有条件执行的,所以你应检查删除的条件是否成立
而传递删除条件就与浏览器有关了
像9楼那样,用php的header Location 或者window.location.href 避免程序中后退
用户自己按后退那就是他的问题了