在ASP.NET2.0中,如果使用了无Cookie的Session,则会在地址栏中显示当前的SessionID,这样会带来安全隐患如何解决呢?请大家指点~谢谢

解决方案 »

  1.   

    在web.config中改Session的保存方式
      

  2.   

    这个问题是绕回来了,楼主即然使用了无cookies方式,恐怕就是担心客户端关闭了cookies,那再启用cookies又有什么意义呢.楼主觉得会带什么样的隐患呢?
      

  3.   

    看一下是否禁用了Cookie选项, 否则,它自动会通过地址栏加标志SessionID码进行验证.
      

  4.   


    呵呵,我现在就是想使用无cookie的session,但是又不想让SessionID以明文在URL中显示,应该怎么办呢?谢谢大家  ^o^
      

  5.   

    那就给session内容加密,取的时候再解密
      

  6.   

    不过上面我说的方法有可能会增加一些额外的开销,不过本来安全就是以牺牲效率为代价的,想想https就知道了
      

  7.   

    context.RewritePath("~/ShowResult.aspx", String.Empty, "SessionID=dsclub");
    context.Server.Transfer("~/ShowResult.aspx");
      

  8.   


    直接复制加密后的信息,在Session没过期的时候,还是可以在任何的机器上访问啊。呵呵
      

  9.   

    还是可以在任何的机器上访问啊---这个不可能用SESSION做到
      

  10.   

    你只能使用有Cookie的方式解决
      

  11.   

    无COOKIE方式还不让显示SESSIONID那不是矛盾了嘛...