关于cookie

缘起

如何在不发起一个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

成功迁移Blog从bluehost到hostmonster

迁移体会:

1. 使用wordpress的导出导入插件不太靠谱,因为有些数据没有导,会带来很多的麻烦; 使用mysqldump + source命令比较靠谱

2.  hostmonster开启ssh功能需要verify account,就是要提供身份证照片,这是注册之后才知道的,虽然不想提供,但是还是提供了; 提供之后很快就验证完了,效率还是可以的

 

这是迁移之后的第一篇文章

JAVA使用openssl生成的公私钥做加密解密

使用openssl生成密钥对:

 

java代码:

1. 注意: java 语言本身没有实现base64编码,而openssl生成的密钥对一般做base64编码,便于维护,所以这里引用了 org.apache.commons.codec.binary.Base64;

 

稍后提供一个PHP加密Java解密的实现

 

参考资料:

http://stackoverflow.com/questions/11787571/how-to-read-pem-file-to-get-private-and-public-key

http://stackoverflow.com/questions/8647165/how-to-sign-a-generic-text-with-rsa-key-and-encode-with-base64-in-java

http://www.javamex.com/tutorials/cryptography/rsa_encryption.shtml

http://snowolf.iteye.com/blog/381767

密钥结构及格式: https://polarssl.org/kb/cryptography/asn1-key-structures-in-der-and-pem

 

 

 

JSP中response.addCookie的问题

脚本:

如果cookie的name中含有 “;” 则会抛出异常,出现500错误,这个是没有问题的,但是,如果value中含有 “;” 会怎么处理呢?在PHP中setcookie()函数会将value做url编码,如果是setrawcookie()则会报错误。而在JSP中却出现了如下现象:

浏览器会因为给value添加了双引号而将cookie m的只是为 “M;n”吗? 不会的:

cookie