未设置 Cookie 值

Cookie value is not getting set

我在 nginx 中制作了一个模块来保护 cookie.I 使用 AES 加密 cookie 并使用加密值修改原始 cookie。

如果我用其他值修改原始 cookie,那么它工作正常,假设我将 cookie 值从 abc 更改为 xyz 它有效,但是当我将 abc 更改为加密的 abc 时 chrome 无法保存它。

我可以在 chrome 的响应 headers 中看到它,但是 chrome 没有存储 cookie,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 headers 扩展也将 set-cookie 的值显示为未定义。

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

任何见解都会 help.Thanks

第一,您可能需要删除空格

第二,显然你发送的是二进制格式的 cookie,无法设置。

这里有一个快速解决方案,在将此 cookie 发送到浏览器之前(进一步)将其加密为 base64。那应该可以解决您的问题。