提示“密码字段出现在一个不安全的页面(http://)中。这是一个导致用户的登陆凭据可被窃取的安全风险。”
意思就是你的密碼傳出去時是明文,沒有加密,容易被竊取。用https就不會提示的。這句話可以不理的。是用戶名和密碼post到iframe 裏面做驗證嗎? 不會不安全啊。unset($_SESSION['user']) 不行嗎? 這句是在iframe裏面?

解决方案 »

  1.   

    unset($_SESSION['user']) 
    这句直接写在一个logout.php里,
    点击“退出”就会连接到这个文件,火狐里没法注销这个session,谷歌和360是正常的
      

  2.   

    用firefox测试了一下。
    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;
      

  3.   

    var_dump  输出是NULL
    找到原因了,原来是火狐回退不会刷新页面,判断登陆状态的js没有执行
    logout.php 里是这么写的
    unset($_SESSION['user']);
    echo "<script> history.go(-1)</script>";
      

  4.   

    火狐回退,$(document).ready(function(){}里的函数为啥不会运行呢
    谷歌是会运行的
      

  5.   

    看來是你的firefox有問題了。這邊試了,一切正常。
      

  6.   

    以前写验证码类的时候碰到过这个问题
    window.onload的时候,我刷新了验证码图片
    火狐提交表单再后退验证码不变,IE刷新
    当时查了下资料,火狐的内核会为所有选项卡各自在内存中保存历史记录,当发生回退时其实仅仅读取了内存,js运行状态也就保存了下来。而IE内核的回退就好像是直接输入地址一样
      

  7.   

     echo "<script> history.go(-1)</script>"; 
    改成跳转header("Location:xx.php");试试
      

  8.   

    session 是存放在服务器上的
    只要浏览器能传递正确的 sessionid ,其他的就与浏览器无关了unset($_SESSION['user']);
    并不能注销 session,而只是从 session中删去了 uesr 项
    显然这句是有条件执行的,所以你应检查删除的条件是否成立
    而传递删除条件就与浏览器有关了
      

  9.   


    像9楼那样,用php的header Location 或者window.location.href 避免程序中后退
    用户自己按后退那就是他的问题了
      

  10.   

     用header('location: '.$_SERVER['HTTP_REFERER']);解决了,多谢大家