2016-09-21 58 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在做你需要的東西,但它可以自己實現。

相關問題