不要在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 相关文章推荐
utf-8编码引起js输出中文乱码的解决办法
Jun 23 Javascript
js 中 document.createEvent的用法
Aug 29 Javascript
Javascript的常规数组和关联数组对比小结
May 24 Javascript
JQuery动态添加和删除表格行的方法
Mar 09 Javascript
jquery实现简易的移动端验证表单
Nov 08 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
Feb 14 Javascript
Angular4学习笔记之准备和环境搭建项目
Aug 01 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
angularjs数组判断是否含有某个元素的实例
Feb 27 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
Jun 19 Javascript
优雅的elementUI table单元格可编辑实现方法详解
Dec 23 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
PHP的FTP学习(三)
2006/10/09 PHP
php Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
php通用防注入程序 推荐
2011/02/26 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
php远程下载类分享
2016/04/13 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
2019/07/19 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
大学应届生求职简历的自我评价
2013/10/08 职场文书
房地产开发计划书
2014/01/10 职场文书
中学生运动会口号
2014/06/07 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书
导游词之五台山
2019/10/11 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
javascript Number 与 Math对象的介绍
2021/11/17 Javascript
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js