Firefox 在洗掉有效 cookie 后會拋出以下警告:
Cookie“cookie_name”很快就會被拒絕,因為它的“SameSite”屬性設定為“None”或無效值,沒有“secure”屬性。要了解有關“SameSite”屬性的更多資訊,請閱讀
在注銷程序中,通過設定
max-age=0或洗掉設定的 cookieexpire=<date_in_past>。瀏覽器會按預期立即洗掉 cookie,但我也收到上述警告。洗掉后端或前端的 cookie 無關緊要 - 訊息將始終顯示。代碼
設定 Cookie - 后端(django):
class Login(): def post(self, request): ... response = Response(status=status.HTTP_200_OK, ...) response.set_cookie("cookie_name", value, max_age=60*60*5, secure=True, httponly=False, samesite='strict') return response洗掉 Cookie - 前端:(到目前為止,在我的場景中此 cookie 的首選方式)
function removeItem(key, path, domain) { ... document.cookie = encodeURIComponent(key) // "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" "=; max-age=0" (domain ? "; domain=" domain : "") (path ? "; path=" path : ""); return true; }, }洗掉 Cookie - 后端(django):(僅出于完整性目的列出;導致相同的警告)
class Logout(): def post(self, request): ... response = Response(status=status.HTTP_200_OK, ...) response.delete_cookie("cookie_name") return response有沒有更好的方法來洗掉不會導致警告的 cookie?
uj5u.com熱心網友回復:
您需要做的是在設定cookie時添加samesite/secure cookie屬性,否則可能會被瀏覽器拒絕。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/492774.html
標籤:javascript django 火狐 饼干 同一地点

