首页 > 解决方案 > 在 Python 2.7 中将 SameSite 参数添加到 cookie

问题描述

如何在 Python 2.7 中将 SameSite 参数添加到 cookie?

我已经看到了如何在 python 中设置 HTTP cookie 的 `SameSite` 属性?,但我不清楚这是否适用于 Python 2.7,或者我什至如何将它与我拥有的代码结合起来:

response.set_cookie(key="", value="", max_age="", expires="", path="/",domain="",secure=None,httponly=True)
return response

我使用 Django,所以我像这样创建响应:

response = render(request, "template.html", {})

标签: pythoncookies

解决方案


我想到了。我在 Python 2.7 中使用(旧版本的)Django,并将 cookie 添加到响应对象,如下所示:

response["Set-Cookie"] = COOKIE_NAME+'='+COOKIE_VALUE+';expires='+EXPIRES+';Secure;SameSite=None;HttpOnly;Path=/;domain='+MY_DOMAIN+';'

请注意,您只能像这样设置一次,因为该值会被覆盖。大概您可以设置多个cookie,但不需要它。你仍然可以使用 response.set_cookie() 设置 cookie,至少在你这样做之前是这样。

过期,我得到这样的:

max_age = 315360000
expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT")

推荐阅读