不要在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 相关文章推荐
jQuery插件开发详细教程
Jun 06 Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
Dec 16 Javascript
jquery滚动到顶部底部代码
Apr 20 Javascript
纯javascript响应式树形菜单效果
Nov 10 Javascript
jQuery实现的简单提示信息插件
Dec 08 Javascript
详解如何较好的使用js
Dec 16 Javascript
分分钟玩转Vue.js组件(二)
Mar 01 Javascript
Ionic项目中Native Camera的使用方法
Jun 07 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 Javascript
js仿京东放大镜效果
Aug 09 Javascript
Openlayers学习之加载鹰眼控件
Sep 28 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
4.与数据库的连接
2006/10/09 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
JS日历 推荐
2006/12/03 Javascript
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
jQuery对val和atrr("value")赋值的区别介绍
2014/09/26 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python之yield表达式学习
2014/09/02 Python
Python聊天室程序(基础版)
2018/04/01 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
Python装饰器结合递归原理解析
2020/07/02 Python
大学生职业生涯规划方案
2014/01/03 职场文书
期末学生评语大全
2014/04/24 职场文书
幼师求职自荐信
2014/05/31 职场文书
道路施工安全责任书
2014/07/24 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
西柏坡导游词
2015/02/05 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书