![]() |
1
18
RFC 2109 ,它描述了如何处理cookie,似乎表明cookie域必须是具有TLD(.com、.net等)的FQDN,或者是完全匹配的IP地址。这个 original Netscape cookie spec 根本没有提到IP地址。 they corrected a bug 阻止了IP地址上的Cookie, they have apparently backpedaled 或 IP地址。他们说他们 不会 解决这个问题,因为他们不认为这是一个错误。
“正常”cookie工作但会话cookie不工作的原因是您没有为“正常”cookie设置域(这是一个可选参数),但Flask会自动将会话cookie的域设置为
在开发过程中,您可以通过在localhost上运行应用程序来解决这个问题,而不是让它默认为127.0.0.1。
Flask has a workaround
如果服务器名为localhost,则不会发送会话cookie的域。
在生产中,没有任何真正的解决方案。您可以在域而不是IP上提供此服务,这样可以解决此问题,但在您的环境中可能不可能。你可以强制所有的客户使用Chrome以外的东西,这是不实际的。或者您可以为Flask提供一个不同的会话接口,该接口对IPs执行与localhost相同的解决方法,尽管这在某种程度上可能是不安全的。 Chrome不允许在域中使用带有IP的Cookie,也没有实际的解决方法。 |
![]() |
2
2
我的配置文件具有以下配置:
它允许我使用本地虚拟机,cookie在Chrome上运行得非常好,不需要本地FQDN。 |
![]() |
3
1
https://github.com/mitsuhiko/flask/blob/master/flask/sessions.py#L211-L215
,您可以修补烧瓶代码并更改
您不希望在真正的生产应用程序上执行此操作,但如果您的服务器只是一种没有敏感数据的测试/暂存服务器,那么就可以了。我这样做只是为了测试一个应用程序在一个局域网上
|
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 3 月前 |
![]() |
Jakob · 烧瓶REST-API:响应中的数值错误 9 月前 |
![]() |
peekay · flask应用程序的POST请求不允许出现405方法错误 10 月前 |
|
Leo El · 在类中使用JWT令牌编写pytest 10 月前 |