我在nginx中创建了一个模块以保护cookie。我使用AES加密了cookie并使用加密值修改了原始cookie。
如果我用其他值修改原始cookie,那么它的工作正常,比如我将cookie值从abc更改为xyz它可以工作,但是当我将abc更改为加密的abc chrome时无法保存它。
我可以在chrome中的响应标头中看到它,但cookie不是由chrome存储的,也不是由chrome发送的,用于进一步的请求。
Connection:keep-alive
Content-Length:612
Content-Type:text/html
Date:Sun, 15 Feb 2015 14:00:59 GMT
ETag:"54c1c5ae-264"
Last-Modified:Fri, 23 Jan 2015 03:53:18 GMT
Set-Cookie:my_login=2%B9%B2C%BB%E3%B5 }%EA%E8o%DC%B4%BF%F1%BB%BD|%EA%BF%F2K%A4?m7S%88%A7
Chrome中的实时http标头扩展名也将set-cookie的值显示为undefined。
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 612
Content-Type: text/html
Date: Sun, 15 Feb 2015 14:00:59 GMT
ETag: "54c1c5ae-264"
Last-Modified: Fri, 23 Jan 2015 03:53:18 GMT
Set-Cookie: undefined
任何见解都会有所帮助。谢谢
答案 0 :(得分:1)
1,您可能需要删除空格
第二,显然你正在以二进制格式发送cookie,而这种格式无法设置。这是一个快速解决方案,将此cookie(进一步)加密到base64,然后再将其发送到浏览器。这应该可以解决你的问题。