安全cookie setSecure详解

[ 2018-08-02 09:41:35 | 作者: admin ]
字号: | |
http://www.coin163.com/java/docs/201304/d_2775029502.html

    在cas中或其他web开发中,会碰到安全cookie的概念,因为CAS中TGT是存放在安全cookie中的。下面是安全cookie 的理解:

        Set-Cookie 的 secure 属性就是处理这方面的情况用的,它表示创建的 cookie 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以绝对不会被窃听到。

          在setSecure(true); 的情况下,只有https才传递到服务器端。http是不会传递的。

        j2ee servlet的接口中也定义了Cookie对象,也有其方法setSecue(false);

      关于setSecure的问题,在http连接下:
    当setSecure(true)时,浏览器端的cookie会不会传递到服务器端?
    当setSecure(true)时,服务器端的cookie会不会传递到浏览器端?
      答案:1)不会 ; 2)会

        原理:服务器端的Cookie对象是java中的对象,请不要和浏览器端的cookie文件混淆了。服务器端的Cookie对象是方便java程序员包装一个浏览器端的cookie文件。一旦包装好,就放到response对象中,在转换成http头文件。在传递到浏览器端。这时就会在浏览器的临时文件中创建一个cookie文件。
          但我们再次访问网页时,才查看浏览器端的cookie文件中的secure值,如果是true,但是http连接。这个cookie就不会传到服务器端。当然这个过程对浏览器是透明的。其他人是不会知道的。

        总结如下:cookie的secure值为true时,在http中是无效的;在https中才有效。
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2521

这篇日志没有评论。

此日志不可发表评论。