我用一个会话cookie登录系统制作了一个web应用程序.当使用cookie时,这些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“session”将很快被拒绝,因为它将“SameSite”属性设置为“None”或无效值,而没有“secure”属性。要了解有关“SameSite”属性的更多信息,请阅读https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
我将web应用程序中的会话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和安全,那就太棒了。在Heroku上获得https连接不起作用,我不知道这是为什么,它破坏了网站,如果有任何建议,任何人都会非常感谢!
发布于 2022-01-07 10:07:16
您需要使用域名来访问服务(https://domain.xxx/),而不是IP地址(https://123.123.123.213)。
为了避免很多痛苦和错误,您应该使用HTTPS,特别是如果您希望cookie能够正常工作的话。在大多数情况下,安全和SameSite属性都需要HTTPS正常工作。要使HTTPS正常工作,您需要一个域名和一个适当的证书。
https://stackoverflow.com/questions/70613759
复制相似问题