不要在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 相关文章推荐
js通过地址栏给action传值(中文乱码全是问号)
May 02 Javascript
解析JavaScript中delete操作符不能删除的对象
Dec 03 Javascript
jquery制作搜狐快站页面效果示例分享
Feb 21 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
Feb 17 Javascript
Javascript验证方法大全
Sep 21 Javascript
jQuery实现简单的tab标签页效果
Sep 12 Javascript
详解vue-cli 脚手架项目-package.json
Jul 04 Javascript
详谈Node.js之操作文件系统
Aug 29 Javascript
JS调用安卓手机摄像头扫描二维码
Oct 16 Javascript
修改vue源码实现动态路由缓存的方法
Jan 21 Javascript
javascript解析json格式的数据方法详解
Aug 07 Javascript
简单聊聊Vue中的计算属性和属性侦听
Oct 05 Vue.js
初识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
php生成缩略图的类代码
2008/10/02 PHP
PHP 可阅读随机字符串代码
2010/05/26 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
jquery创建div 实现代码
2009/04/27 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
浅谈Node模块系统及其模式
2017/11/17 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
python requests.get带header
2020/05/05 Python
Python之变量类型和if判断方式
2020/05/05 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
介绍Java的内部类
2012/10/27 面试题
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
师恩难忘教学反思
2014/04/27 职场文书
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android
MySQL日期时间函数知识汇总
2022/03/17 MySQL