- 浏览: 1529178 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
手上一个广告项目,在Firefox下顺利测试通过。自信JS代码能兼容IE,FF测试过后随手就仍给CS测试,结果CS反馈说有问题。排查一番, 发现居然和Javascript 设置 Cookie 时的 path 有关。IE下Cookie种在 /或者URL所在路径时正常,如果Cookie值作用域在当前URL下则IE下javascript 无法获取到设置的Cookie值。
看下面演示代码:
var cookie_name = "name"; var cookie_value = "value"; expires = new Date(); expires.setTime(expires.getTime() + 86400 * 1000); // 有Bug document.cookie无法独到cookie_name值 document.cookie = cookie_name + "=" + encodeURIComponent(cookie_value) + "; expires=" + expires.toGMTString() + "; path=" + window.location.pathname; // 正常 document.cookie = cookie_name + "=" + encodeURIComponent(cookie_value) + "; expires=" + expires.toGMTString() + "; path=/test/"; // 正常 document.cookie = "cookie_name=" + encodeURIComponent(cookie_value) + "; expires=" + expires.toGMTString() + "; path=/";
怀疑是IE的Bug、
在google上 搜了下关键词: ie javascript cookie path bug
同样的问题在罪与罚
的博客上也有描述,而且博主联系过微软IEBLOG
的Eric。得到的回复是:
You have uncovered an IE bug where cookies that are set with a path that contains a filename (e.g. /page.htm) are not accessible to the document.cookie function, although they are correctly sent to the server in the HTTP header. This has been broken for at least 10 years and unfortunately probably will not be fixed in IE8.
Thanks,
-Eric
一个存在10年的Bug。。。而且IE8也不会修复,实在是无语。
需求是cookie值只对当前页面有效,没办法只好用替代方案,看代码:
//IE Cookie Bug 替代方案 var cookie_path = window.location.pathname; var cookie_name = encodeURIComponent(cookie_path.substring(cookie_path .lastIndexOf('/') + 1)); cookie_path = cookie_path.substring(0, cookie_path.lastIndexOf('/') + 1); var cookie_value = "value"; expires = new Date(); expires.setTime(expires.getTime() + 86400 * 1000); document.cookie = cookie_name + "=" + encodeURIComponent(cookie_value) + "; expires=" + expires.toGMTString() + "; path=" + cookie_path;
替代方案根据每个页面的URL文件名来做Cookie名,有效范围在当前页路经下。
如:url 等于 /test/test.html
则cookie名为test.html,有效路径为/test/
这样也可以做到同一个js部署在每个页面上能读到只对当前URL有效的cookie值。代价是当用户在同一级目录下访问很多页面时会导致cookie值不
断增大。结果是当前路径下的每个http请求都带很长一段的cookie,直接导致服务器接收客户端request的header长度增长,流量增长的同
时服务器负担也变重。而且根据 RFC 2109
的定义Cookie也有长度和个数限制,IE允许的最大 Cookie 长度是 4096 字节,允许50个
Cookie 名-值对。如果要突破50个名-值对的限制,可以在一个名-值使用Cookie字典的方式保存更多的Cookie变量。
http://blog.seateng.cn/archives/2009/03/ie-javascript-cookie-path-bug.html
评论
发表评论
-
Angularjs 1.x 中使用 layDate 日期控件
2017-10-18 11:30 1861本文参照Angularjs 中使用 layDate 日期控 ... -
简易向左移动的滚动效果 jquery simple marquee
2017-10-15 14:57 626<!DOCTYPE html> ... -
angualrjs添加动态指令(动态编译指令)
2017-09-26 20:45 560本文参考自后补全的代码:http://blog.csdn. ... -
CKeditor的取值和赋值
2017-07-05 14:51 1702<script type="text ... -
Spring boot 环境下配置CKEditor添加google map
2017-07-05 14:39 1262本文档基于已经搭建好基础ckeditor的环境上。如:ht ... -
javascript中借用别的类的方法
2015-12-23 21:58 475借用别的类的方法 /** * Created by ... -
Javascript的类与子类创建
2015-11-11 20:45 868声明父类与子类的示 ... -
jQuery 对 select 操作
2011-09-30 16:54 951转自:http://blog.sina.com.cn/s/bl ... -
JSON2的使用方法心得
2010-10-08 15:09 1899var myJSONObject = {"bindi ... -
json对象的应用
2010-09-07 10:37 1871JSON对象就像是PHP或Java中map型(数组) ... -
JQuery对html控件操作总结
2010-08-11 09:28 2413转自:http://www.cnblogs.com ... -
将json元素添加到表单select中
2010-08-10 15:06 1301将json元素添加到表单select中。 $.a ... -
js加密解密
2010-02-10 16:04 1183JavaScript Code Obfuscator ... -
设为首页JS,加入收藏夹js,加入收藏夹代码,设为首页代码,火狐和ie兼容
2010-01-25 23:10 3795<!DOCTYPE html PUBLIC " ... -
精通 JS正则表达式
2009-11-23 09:36 1086转自:http://www.iteye.com/topic/4 ... -
jQuery.Autocomplete 中文支持
2009-11-10 09:01 28493插件地址:http://bassistan ... -
强烈推荐:240多个jQuery插件
2009-11-08 21:26 1308概述 jQuery 是继 prototype 之后又一个优秀 ... -
jQuery中this与$(this)的区别
2009-11-04 16:28 2461$("#textbox").hover( ... -
JS获得鼠标位置(兼容多浏览器ie,firefox)
2009-10-31 18:57 3791<!DOCTYPE html PUBLIC " ... -
javascript 计算文字长度
2009-10-15 17:52 1715/** * 把中文字符替换两个星号,可以用来计算中文字符串的 ...
相关推荐
当一个Cookie被设置为HttpOnly时,JavaScript无法通过Document.cookie API或其他方式访问到这个Cookie。这样一来,即使网页中存在XSS漏洞,恶意脚本也无法窃取到包含敏感信息的Cookie,从而降低了攻击者盗取用户身份...
5. **设置Cookie的安全性和HTTPOnly属性**:为了增强安全性,XCookie支持设置cookie的HTTPOnly属性,防止JavaScript脚本被恶意篡改。同时,可以标记为安全cookie,确保它们仅通过HTTPS传输。 6. **过期时间处理**:...
这个文件包含了javascript对浏览器cookie文件的设置、读、写、删除四个函数,非常好用。
JavaScript是Web开发中不可或缺的一部分,而作为曾经主流的浏览器,Internet Explorer(IE)提供了自己的JavaScript调试工具,使得开发者能够有效地追踪和解决代码中的问题。在IE的JavaScript调试工具中,有多个关键...
在ASP.NET环境中,结合C#和JavaScript,我们可以实现跨语言的Cookie操作,以便于实现用户会话管理、个性化设置等功能。本文将详细探讨如何在C#后端和JavaScript前端中操作Cookie。 首先,C#在ASP.NET中处理Cookie...
cookie-banner, 基于JavaScript的cookie信息横幅,适用于欧盟 cookie Cookie标题 Cookie横幅是确保你遵守欧盟Cookie规则的一种非常简单的方法。 只要从你的页面引用 cookiebanner.min.js 脚本就完成了。Cookie ...
在JavaScript中,我们可以通过`document.cookie`属性来读取和设置Cookie。然而,这个属性并不直接支持设置多个参数,所以通常需要自定义函数来处理: ```javascript var CookieUtil = { set: function(name, ...
Cookie.js是一个专为JavaScript开发者设计的轻量级库,主要用于管理和操作浏览器中的cookie。这个库的主要优点是它的简洁性和低资源占用,使得它成为处理cookie的理想选择,尤其适用于那些对性能和加载速度有较高...
jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本...
// 设置特定域名下的 Cookie $.cookie('name', 'dumplings', { domain: 'qq.com' }); // 设置特定路径下的 Cookie $.cookie('name', 'dumplings', { domain: 'qq.com', path: '/' }); ``` #### 四、获取 Cookie ...
### Cookie设置httpOnly和secure属性实现及问题 #### 一、引言 在现代Web开发中,保护用户的隐私和数据安全至关重要。其中一种常见的做法就是通过设置Cookie的`httpOnly`和`secure`属性来增强安全性。这两个属性...
7. **HTTPOnly**:如果设置,防止JavaScript通过`document.cookie`属性访问该Cookie,增加安全性。 JavaScript中操作Cookie的方法主要有: 1. **创建Cookie**:使用`document.cookie`属性设置一个包含所有属性的...
ie不执行javascript修复ie不执行javascript修复ie不执行javascript修复 当IE不能正常运行时,打开该工具就可以了,自动修复
JavaScript作为浏览器端的主要脚本语言,提供了操作Cookie的功能。本文将详细介绍如何使用JavaScript实现Cookie的增删改查操作。 首先,理解Cookie的基本概念是必要的。Cookie由服务器端设置,并发送到用户的浏览器...
JavaScript可以通过设置document.cookie的属性值来保存Cookie,并可以通过读取Cookie来获取保存的信息。 六、结论 本文详细讨论了Cookie技术在JavaScript环境中的应用,包括Cookie的定义、Cookie的保存方式、利用...
JavaScript作为网页开发中最广泛使用的脚本语言之一,其事件处理机制、cookie的应用、定时任务的执行是前端开发的重要知识点,对于初学者来说,理解这些概念对于学习JavaScript至关重要。 ### 事件 (Event) 在Web...
这篇教程将深入探讨在IIS(Internet Information Services)和Apache两种不同的Web服务器环境下,如何使用JavaScript来操作Cookie。 **一、Cookie的基本概念** Cookie是由服务器端创建,并发送到客户端浏览器的一...
在标准模式下,IE8及以下版本不支持通过`setAttribute`直接为元素添加事件监听器,这与现代浏览器如Chrome和Firefox存在差异。为了确保兼容性,通常推荐使用`addEventListener`方法为元素添加事件监听器,但由于IE8...
"iebug总结jar包"是一个专门针对这些问题的资源集合,它包含了处理IE bug的相关资料,特别是针对IE6的解决方案。以下是基于这个主题的详细知识点: 1. **IE6的渲染引擎**:IE6使用的是Trident渲染引擎,它与现代...
在JavaScript中,可以通过`document.cookie`属性来设置Cookie。基本格式如下: ```javascript document.cookie = "name=value; expires=expiration_date; path=path; domain=domain; secure"; ``` - `name`: ...