Scala 中的粘性饼干
Sticky Cookies in Scala
我在 Scala 中设置了一个类似于以下内容的 cookie:
val cookies:Seq[Cookie] = new Seq()
val nDaysExpire:Int = 2000
val nSecondsExpire:Int = nDaysExpire * 24 * 60 * 60
val cookie:Cookie = new Cookie(sCookieID, sValue, Option(nSecondsExpire))
cookies = cookies:+ cookie
Ok(views.html.main(sID)).withCookies(cookies:_*)
然后我立即删除 JavaScript 中的 cookie。我什至在页面加载 30 秒后删除了 cookie。
当我重新加载页面时,Scala 代码仍然看到 cookie。但是在 JavaScript 中,当我调用 document.cookie.
时找不到 cookie
怎么回事?
根据 docs,Cookie
的构造函数采用名为 httpCookie
的布尔参数。默认值为 true
.
javascript 无法看到 HttpOnly cookie。因此,如果您想从 javascript 中删除您的 cookie,请尝试将其设置为 false。
val cookie:Cookie = new Cookie(sCookieID, sValue, Option(nSecondsExpire), httpOnly = false)
作者:杰夫·阿特沃德 Protecting Your Cookies: HttpOnly
When you tag a cookie with the HttpOnly flag, it tells the browser that this particular cookie should only be accessed by the server. Any attempt to access the cookie from client script is strictly forbidden.
我在 Scala 中设置了一个类似于以下内容的 cookie:
val cookies:Seq[Cookie] = new Seq()
val nDaysExpire:Int = 2000
val nSecondsExpire:Int = nDaysExpire * 24 * 60 * 60
val cookie:Cookie = new Cookie(sCookieID, sValue, Option(nSecondsExpire))
cookies = cookies:+ cookie
Ok(views.html.main(sID)).withCookies(cookies:_*)
然后我立即删除 JavaScript 中的 cookie。我什至在页面加载 30 秒后删除了 cookie。
当我重新加载页面时,Scala 代码仍然看到 cookie。但是在 JavaScript 中,当我调用 document.cookie.
时找不到 cookie怎么回事?
根据 docs,Cookie
的构造函数采用名为 httpCookie
的布尔参数。默认值为 true
.
javascript 无法看到 HttpOnly cookie。因此,如果您想从 javascript 中删除您的 cookie,请尝试将其设置为 false。
val cookie:Cookie = new Cookie(sCookieID, sValue, Option(nSecondsExpire), httpOnly = false)
作者:杰夫·阿特沃德 Protecting Your Cookies: HttpOnly
When you tag a cookie with the HttpOnly flag, it tells the browser that this particular cookie should only be accessed by the server. Any attempt to access the cookie from client script is strictly forbidden.