我们的基础架构中的设备生成了Cookie,我们无法访问设备的配置,因此无法在其直接生成的Cookie上设置HTTPOnly标记。
我们在此设备前面有一个清漆4缓存,是否可以在cookie上设置HTTPOnly标志?如果是这样,怎么办呢?
答案 0 :(得分:1)
如果您的后端仅为每个响应设置一个Set-Cookie
标头,则可以在HttpOnly
子例程中轻松地将vcl_deliver
标志添加到该标头。您只需使用resp.http.Set-Cookie
重写regsub()
。
但是,如果单个响应中有多个Set-Cookie
标头,则先前的解决方案无效。您可以考虑使用类似方法,首先使用Set-Cookie
在单个逗号分隔的Set-Cookie
标头中合并所有std.collect()
标头,然后使用regsuball()
重写合并标头以添加HttpOnly
标志。但是,合并Set-Cookie
标头是个坏主意。某些浏览器不喜欢合并标头,而是希望单独发送每个Set-Cookie
标头。
摘要:如果在单个响应中有多个HttpOnly
标头,则无法在VCL中添加Set-Cookie
标志。这只能实施using a VMOD。我不知道任何VMOD正在做你需要的东西,但它可以自己实现。