最近用CGI做了个嵌入式web,使用cookie验证登录,遇到一问题:登录后,已经生成一个有效COOKIE,下次再浏览系统时,不通过用户口令就登录了,如果设置了cookie的有效时间,但在该有效期内关掉浏览器,再访问也同样不通过用户口令就登录了。
   请问各位大大,有什么方法可以在退出时(直接关掉浏览器)清除该cookie呢 或提供另一有效安全的登录验证例子。高分酬谢!!

解决方案 »

  1.   

    用户第一次登陆把用户名存在Session里,再登陆的时候就这样做,因为Session是存在在服务端的,关闭浏览器Session就清除了  protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["AdminName"] == null)
            {
                Response.Redirect("adminlogin.aspx");
            }
        }
      

  2.   

    判断关闭浏览器的事件 清除掉cookie
      

  3.   

    你主程序是C++吗 那直接用个event同步这个事件
      

  4.   

    已经初步解决,感谢大家提供思路。
    我的做法是,不设置cookie的expires (过期参数)当关掉浏览器,cookie的生命周期跟着浏览器进程结束掉,
    下次再浏览WEB就必须重登录了,达到模仿Session的效果。
    但是新的问题是,设置cookie时为何只能设置一个name值呢?使用printf("cookie %s",getenv("HTTP_COOKIE"));
    得到的只有第一 值~~~~~不解中~~~