2016-09-21 139 views
0

我们的基础设施中有设备生成的Cookie,我们无法访问设备的配置,因此无法在直接生成的Cookie上设置HTTPOnly标志。在清漆4上设置Cookie上的HTTPOnly标志

我们在此设备前有一个清漆4缓存,是否可以在cookie上设置HTTPOnly标志?如果是这样怎么办?

回答

1

如果你的后端仅设置每个响应的一个Set-Cookie头,加入HttpOnly标志该头可以在vcl_deliver子程序期间平凡完成。您只需使用regsub()就可以重写resp.http.Set-Cookie

但是,如果在单个响应中可能有多个Set-Cookie标头,则以前的解决方案无效。您可以考虑采用类似的方法,首先使用std.collect()将所有Set-Cookie标题合并到一个由逗号分隔的Set-Cookie标题中,然后使用regsuball()重写合并标题以添加HttpOnly标志。但是,合并Set-Cookie标题是个不错的主意。某些浏览器不喜欢合并标题,并且倾向于每个Set-Cookie标题都是单独发送的。

摘要:在单个响应中可能有多个Set-Cookie标头时,VCL中无法添加HttpOnly标志。这只能执行using a VMOD。我不知道有任何VMOD在做你需要的东西,但它可以自己实现。