技术常用都差不多 ,
我用的.net ,
Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));
将验证码加到客户端cookie中了吧,
我在客户端,打开首页,它在administrator的cookie文件夹里创建了新的cookie,当前时间为修改时间
然后,我进入注册页面,注册页面是有生成验证码的,也就是说,理论上要更新cookie的吧?那奇怪的是cookie没有更新,且测试打开其它页也不更新,只有打开首页更新,
我打开cookie也没有看到CheckCode和chechCode的值,为什么?是不是加密了,我怎么才能看到? 

解决方案 »

  1.   

    cookie保存验证码?
    没搞明白你在说什么应该是先 生成验证码,再写入cookie吧。
    你确定你在其它页面也都生成验证码并写入cookie了吗?
      

  2.   

    没啊,就是打开首页,cookie会刷新,可是打开有验证码的注册页面,cookie却没有刷新啊
      

  3.   

    cookie应该不是运行在内存里吧。不然打开注册页面,有个写cookie操作,怎么客户端的cookie文件没有刷新
      

  4.   

    如果你没有设定cookie过期时间,那么这个cookie会保存在浏览器进程中,也就是内存中。
      

  5.   

    楼上说设定cookie过期时间是服务器设置吧?保存在浏览器进程中?那也就是说,它不会再存到cookie文件了,而随着浏览器关闭就没掉了,是否?可是有一些网站不是可以利用cookie保存登录名和密码的吗,这样说应该是要保存到cookie文件里而不是内存吧?
      

  6.   

    是的,在服务端设定了过期时间,cookie会保存在用户硬盘上. 否则只在内存中.关闭浏览器cookie丢失!
      

  7.   


    我测试了一下,
    Response.Cookies.Expires = DateTime.Now.AddYears(1);
    也是没效果的,
    直接访问 包含cookie的注册页
    /reg/reg.aspx
    cookie是没刷新的,我的web config
    <sessionState mode="StateServer" cookieless="false" timeout="20"/>
      

  8.   

    不过关闭 /reg/reg.aspx 后,好像终于有更新cookie文件了,看存储的内容来看,没有看到我要保存的那个变量名,请问这是不是被加密了?
      

  9.   

    浏览器不加密cookie名称,只加密cookie内容,至少FF是这个,你可以用FF查看
      

  10.   

    喔,我也是这样想的,觉得,ie应该在cookie文件里可以找到CheckCode,
    firefox我看了,在显示cookie里可以找得到CheckCode,难道它没有存到文件里吗,前段时间,维护的一个网站被攻击了的,,cookie对懂一些攻击知识来讲,估计是一点用没有啊,感慨,,,