【发布时间】:2022-01-10 01:09:51
【问题描述】:
我正在制作一个带有会话 cookie 登录系统的 Web 应用程序。使用 cookie 时,它们会在几秒钟内过期,从而将用户从他们所在的任何服务中注销。当我打开我的应用程序时,我偶尔会在终端中收到一条警告,指出 UserWarning: The session cookie domain is an IP address. This may not work as intended in some browsers. Add an entry to your hosts file, for example "localhost.localdomain", and use that instead. 我在 Heroku 上托管这个应用程序,所以我不这样做不认为编辑我的本地文件会有所帮助,但如果有办法在 Heroku 上解决这个问题,那就太好了。我收到的另一条错误消息来自网站本身的控制台,内容如下:
Cookie“会话”将很快被拒绝,因为它的“SameSite”属性设置为“无” 或无效值,没有“安全”属性。要了解有关“SameSite”的更多信息 属性,阅读https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
我将 Web 应用程序中的 Session cookie 设置为:
app.config["SESSION_FILE_DIR"] = tempfile.mkdtemp()
app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"
app.config["SESSION_COOKIE_SECURE"] = True
app.config["SESSION_COOKIE_SAMESITE"] = "None"
Session(app)
但这并没有解决我的问题,并且两个错误不断出现。如果有任何方法可以手动设置 SameSite 和 Secure,那就太好了。在 Heroku 上获取 https 连接不起作用,我不知道为什么会这样,它会破坏网站,如果有人有任何建议,将不胜感激!
【问题讨论】:
标签: python flask cookies session-cookies flask-session