众所周知forms验证是基于cookie的.....当第一次验证通过后..用户信息写入cookie....问题:
cookie是保存在客户端的..如果cookie值被改了呢?不会有安全问题吗?

解决方案 »

  1.   

    偶也一直在想这个问题,用cookies不安全,用session怕影响性能,不知如何是好?
      

  2.   

    其实数据是用SESSION保存在服务器的,客户端只保存读SESSION密钥----这就是forms验证(session+cookie)不知道这样理解对不对?
      

  3.   

    可以选择from认证中的cookies的保护方式为all.
      

  4.   

    Form认证方式:Form认证方式是在窗体内提供用户输入ID和密码的地方,并根据用户输入的ID和密码进行身份认证.
    Form认证方式同进还使用Cookie记录用户的信息,当用户访问其他页面的时候,程序通过访问cookie来获得用户的身份信息.<configuaration>
    <system.web>
    <authentication mode="Forms">
    <forms name=".ASPXUSERDEMO" loginUrl="Formslogin.aspx" protection="All" timeout="60" />
    </authentication>
    </system.web>
    </configuaration>注:
    loginUrl:指定一个用于登录的页(防止用户跳过登录页)
    Name:Cookie的名字,注意,如果一个服务器有很多应用的话,要给cookie其不同的名字.
    protection:Cookie被保存的方式.
    timeout:Cookie的存活时间默认值是30分钟.
    path:Cookie的保存时间.其中,protection是用来描述cookie的保存方式的,有下列四个可选择项目:
    <1>:不使用任何方法保护cookie
    <2>:Encryption:使用des或者三层des对cookie进行加密,但是并不对cookie传输中是否被监听或者篡改进行监视
    <3>:Validation:监视cookie,保证传输过程中不会被监听或者篡改,但是并不对cookie进行加密
    <4>:同是使用其所长Encryption和Validation.(建议)
      

  5.   

    blackhero(黑侠客) 
    如果客户端不支持cookie.....还可以使用forms验证吗?