不要在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 相关文章推荐
33种Javascript 表格排序控件收集
Dec 03 Javascript
关于jQuery新的事件绑定机制on()的使用技巧
Apr 26 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
Dec 07 Javascript
jQuery获取checkbox选中的值
Jan 28 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
angularJs关于指令的一些冷门属性详解
Oct 24 Javascript
简单实现js浮动框
Dec 13 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
Aug 29 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
Mar 05 Javascript
vue ssr+koa2构建服务端渲染的示例代码
Mar 23 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
Jun 17 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
PHP4实际应用经验篇(2)
2006/10/09 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
用POSTMAN发送JSON格式的POST请求示例
2018/09/04 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
python基于递归解决背包问题详解
2019/07/03 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
会计助理的岗位职责
2013/11/29 职场文书
大学生实习自我鉴定
2013/12/11 职场文书
房地产还款计划书
2014/01/10 职场文书
优秀教师获奖感言
2014/01/31 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
法律进社区活动总结
2015/05/07 职场文书
毕业论文致谢信
2015/05/14 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书