2月 162013
 

缘起

如何在不发起一个Http请求的情况下删除一个Httponly的cookie?

探索:

1. 虽然JS无法读取Httponly的cookie,那么JS是否可以设置或删除Httponly的cookie呢?

答案是否定的

2. 使用http-equiv类型的meta标签是可以设置cookie的,那么是否可以cache一个带有http-equiv类型的meta标签的页面来操作cookie呢?

http-equiv类型的meta标签只能设置、删除、修改非Httponly类型的cookie

分析:

分析1:

JS无法访问Httponly的cookie,其中包括三层含义:

  1. 无法读取
  2. 无法设置和修改
  3. 无法删除

如:

无法通过如下方式设置、修改或删除一个已存在的Httponly的cookie:

无法通过如下方式设置、修改或删除一个已存在的Httponly的cookie:

注意:或许你通过第一种方式在一个Httponly的cookie已存在的情况下设置了一个新的test cookie,那么基本上是因为两个test的domain或path不同;如:一个Httponly的cookie设置在a.test.com域下,而这时通过document.domain=”test.com”,将domain修改为了 test.com;这时候可以通过第一种方式设置一个testcookie,和原有的Httponly的cookie并不冲突

 

分析2:

HTML中有一个meta标签,其中的一个用法是http-equiv,如,可以通过如下方式设置cookie:

但是,测试发现,似乎无法通过JS创建meta标签的方式来设置cookie

分析3:

测试发现,无法通过meta标签来设置、修改、删除一个Httponly的cookie

 Posted by at 上午 1:36

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

(required)

(required)

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据