Cookie使用注意事项(同事分享)

    xiaoxiao2021-03-26  43

    Cookie使用注意事项

    1、 分类

    cookie可以手动设置,也可以由服务器产生,当客户端(浏览器)向服务器发送请求,服务器会反馈一些信息给客户端,这些信息的key/value值被浏览器作为文件保存在客户端特定的文件夹中。

    内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。

    硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的

    2、 参数

     

       

       

    String name

    该Cookie的名称。Cookie一旦创建,名称便不可更改

    Object value

    该Cookie的值。如果值为Unicode字符,需要为字符编码。如果值为二进制数据,则需要使用BASE64编码

    int maxAge

    该Cookie失效的时间,单位秒。如果为正数,则该Cookie在maxAge秒之后失效。如果为负数,该Cookie为临时Cookie,关闭浏览器即失效,浏览器也不会以任何形式保存该Cookie。如果为0,表示删除该Cookie。默认为–1

    boolean secure

    该Cookie是否仅被使用安全协议传输。安全协议。安全协议有HTTPS,SSL等,在网络上传输数据之前先将数据加密。默认为false

    String path

    该Cookie的使用路径。如果设置为“/sessionWeb/”,则只有contextPath为“/sessionWeb”的程序可以访问该Cookie。如果设置为“/”,则本域名下contextPath都可以访问该Cookie。注意最后一个字符必须为“/”

    String domain

    可以访问该Cookie的域名。如果设置为“.google.com”,则所有以“google.com”结尾的域名都可以访问该Cookie。注意第一个字符必须为“.”

    String comment

    该Cookie的用处说明。浏览器显示Cookie信息的时候显示该说明

    int version

    该Cookie使用的版本号。0表示遵循Netscape的Cookie规范,1表示遵循W3C的RFC 2109规范

    摘自:

    http://www.cnblogs.com/hustskyking/archive/2013/03/27/javascript-cookie.html

    3、 要点

    1.Cookie数量和长度的限制。

    各个浏览器的限制不同IE7+和Firefox最大限制为50条,chrome和Safari无限制,IE6-最大限制20条。每个 cookie 所存放的数据不能超过4kb,如果 cookie 字符串的长度超过4kb,则该属性将返回空字符串。

    cookie个数不要超过50条,大小不能超过4KB

    2.安全性问题。

    客服端每次访问服务端都会携带cookie,cookie容易被人拦截,所有的session信息被公开。

    cookie不要保存机密信息,让服务端来确保用户信息安全。

    3.关于cookie的编码。

           使用encodeURIComponent编码,decodeURIComponent解码。

    摘自:

    http://www.cnblogs.com/chuaWeb/p/5103356.html

    4.cookie每次随HTTP请求一起发送,浪费宽带,移动端推荐使用localStorage。 5.字符串切割时 使用"; "切割( 要有空格) 6.当添加的数据key值不存在时 新建条目 , 如果key值存在 覆盖原数据 覆盖后条目在cookie的末尾

    7.同源政策

    浏览器的同源政策规定,两个网址只要域名相同和端口相同,就可以共享Cookie。注意,这里不要求协议相同。也就是说,http://example.com设置的Cookie,可以被https://example.com读取。

    8.HttpOnly

    设置Cookie的时候,如果服务器加上了HttpOnly属性,则这个Cookie无法被JavaScript读取(即document.cookie不会返回这个Cookie的值),只用于向服务器发送。

    摘自:

     http://javascript.ruanyifeng.com/bom/cookie.html

    9.有效期

    在默认的情况下,cookie 会在浏览器关闭的时候自动清除,但是我们可以通过expires来设置 cookie 的有效期。

    摘自:

    http://www.cnblogs.com/Darren_code/archive/2011/11/24/Cookie.html

    10. cookie中不能直接存储中文。

    11.关于cookie的覆盖问题。

    Cookie唯一标识相同,认定是一个cookie,新的值覆盖旧的值。 Cookie唯一标识不同,认定是两个没有任何关系cookie,分别保存。 Cookie唯一标识:域名 +资源路径 + cookie名字

    摘自:

    http://blog.csdn.net/u013469562/article/details/53134706

    参考:

    http://laravelacademy.org/post/623.html

    https://github.com/qiqiboy/COOKIE

    http://www.fscwz.com/2015/11/10/JavaScript-cookie/

    https://github.com/js-cookie/js-cookie  JavaScriptAPI来处理浏览器的cookies

     

    转载请注明原文地址: https://ju.6miu.com/read-663052.html

    最新回复(0)