不要在cookie中使用特殊字符的原因分析


Posted in Javascript onJuly 13, 2010

Constructs a cookie with a specified name and value.

The name must conform to RFC 2109. That means it can contain only ASCII alphanumeric characters and cannot contain commas, semicolons, or white space or begin with a $ character. The cookie's name cannot be changed after creation.

The value can be anything the server chooses to send. Its value is probably of interest only to the server. The cookie's value can be changed after creation with the setValue method.

By default, cookies are created according to the Netscape cookie specification. The version can be changed with the setVersion method.

以上是java API文档中对Cookie类构造函数的说明,重点对name和value可以使用的字符进行了介绍。

参数name需要遵循规范RFC2109,也就是说name参数只能包含字母或者数字,不能包含逗号、分号、空格及美元符号。cookie的name属性设置之后不能被修改。

参数value可以是服务端设置的任意值,该值可以通过setValue方法进行重新设置。

然后实际情况并非如此!!

(1)value值中不能包含逗号,如果value中包含逗号则程序无法编译。

如果value中包含逗号,如下:

Cookie pwdCookie = new Cookie("option", "block1,block2");
则异常如下:

java.lang.IllegalArgumentException: block1,block2
在另外一篇关于JavaScript操作cookie的文章中提到:

在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。

总之,尽量不要在cookie中使用特殊字符。

Javascript 相关文章推荐
W3C Group的JavaScript1.8 新特性介绍
May 19 Javascript
Extjs中使用extend(js继承) 的代码
Mar 15 Javascript
JS简单的图片放大缩小的两种方法
Nov 11 Javascript
js获取url传值的方法
Dec 18 Javascript
JS实现获取剪贴板内容的方法
Jun 21 Javascript
用vue和node写的简易购物车实现
Apr 25 Javascript
layui实现文件或图片上传记录
Aug 28 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
利用JavaScript将Excel转换为JSON示例代码
Jun 14 Javascript
vue excel上传预览和table内容下载到excel文件中
Dec 10 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
Sep 02 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 Javascript
初识javascript 文档碎片
Jul 13 #Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
Jul 13 #Javascript
通过继承IHttpHandle实现JS插件的组织与管理
Jul 13 #Javascript
jQuery.Autocomplete实现自动完成功能(详解)
Jul 13 #Javascript
javascript中字符串拼接需注意的问题
Jul 13 #Javascript
转换json格式的日期为Javascript对象的函数
Jul 13 #Javascript
Jquery+WebService 校验账号是否已被注册的代码
Jul 12 #Javascript
You might like
PHP5中MVC结构学习
2006/10/09 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
python实现数通设备端口监控示例
2014/04/02 Python
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Python实现统计代码行的方法分析
2017/07/12 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
python线程的几种创建方式详解
2019/08/29 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
JAVA高级程序员面试题
2013/09/06 面试题
车间班长岗位职责
2013/11/30 职场文书
毕业生面试求职信
2014/06/23 职场文书
五一活动标语
2014/06/30 职场文书
安全责任书怎么写
2014/07/28 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript