允许访问Cookie的路径,Cookie的安全属性

Cookie的路径

Cookie的path属性决定哪个路径允许访问Cookie。

一般地,Cookie发布出来,整个网页的资源都可以使用。现在我只想Servlet1可以获取到Cookie,其他的资源不能获取。

        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //设置response编码
            resp.setContentType("text/html;charset=UTF-8");
            //创建Cookie对象
            Cookie cookie = new Cookie("username", URLEncoder.encode("九月","UTF-8"));
            //发送Cookie给浏览器需要设置Cookie的时间
            cookie.setMaxAge(1000);
            cookie.setPath("/cookieTest2");
            //cookie.setMaxAge(0);
            //向浏览器发送一个cookie
            resp.addCookie(cookie);
            resp.getWriter().write("向浏览器发送了一个Cookie");
        }

使用http://localhost:8080/cookieTest访问,不能获取到cookie

Cookie: JSESSIONID=1B29E1B9C164CB9FA5757ED94E106DA9
Host: localhost:8080

使用http://localhost:8080/cookieTest2访问,浏览器可以把Cookie带上

Cookie: username=%E4%B9%9D%E6%9C%88; JSESSIONID=1B29E1B9C164CB9FA5757ED94E106DA9
Host: localhost:8080

Cookie的安全属性

  • HTTP协议不仅仅是无状态的,而且是不安全的!如果不希望Cookie在非安全协议中传输,可以设置Cookie的secure属性为true,浏览器只会在HTTPS和SSL等安全协议中传输该Cookie。

  • 当然了,设置secure属性不会将Cookie的内容加密。如果想要保证安全,最好使用md5算法加密。

“扫码关注公众号一起进步“

允许访问Cookie的路径,Cookie的安全属性_第1张图片

你可能感兴趣的:(允许访问Cookie的路径,Cookie的安全属性)