使用cookies开发本地主机

使用cookies开发本地主机,cookies,Cookies,我有一个google cloud bucket CDN Cookie来访问我的google cloud bucket图片。在我的web服务器上,设置cookies和检索图像的一切都很好。但是在我的开发环境中,我在localhost上,它不发送cookies,因为它没有https。对于开发环境来说,在使localhost成为https://localhost 对于多个开发环境来说似乎相当复杂 这里是http://localhost cookie错误 完全迁移到HTTPS以将cookie发送到同一站

我有一个google cloud bucket CDN Cookie来访问我的google cloud bucket图片。在我的web服务器上,设置cookies和检索图像的一切都很好。但是在我的开发环境中,我在localhost上,它不发送cookies,因为它没有https。对于开发环境来说,在使localhost成为https://localhost 对于多个开发环境来说似乎相当复杂

这里是http://localhost cookie错误

完全迁移到HTTPS以将cookie发送到同一站点 子资源cookie未从不安全源发送到安全源 上下文因为此cookie将在上跨方案发送 同一个站点,它没有被发送。此行为增强了SameSite 网络请求伪造用户数据的属性保护 袭击者。通过迁移您的站点(如所定义)来解决此问题 eTLD+1)完全支持HTTPS。还建议标记 如果情况并非如此,则使用Secure属性的cookie


首先,听起来您的localhost开发工作流包括https上的某些部分,否则您将不会看到这样的消息:“cookie没有从不安全的上下文发送到安全源站”

开发环境如何处理此类问题

这本身并没有,这取决于你的环境。 您可以考虑以下几个选项:

  • 完全升级到https。您提到这对您的设置来说很复杂,所以这个可能不适合您(可能有帮助?)
  • 在本地主机开发期间完全降级为http。出现此错误的唯一原因是您试图跨不同的方案发送cookie,如果所有内容都是http,则您将不会遇到此错误
  • SameSite=Strict
    SameSite=Lax
    cookies更改为
    SameSite=None;安全
    。Samesite=方案之间不自由发送任何cookie
  • 通过禁用同一站点的架构chrome://flags/#schemeful-同一地点。这将在未来几个月内消失,所以我不建议依赖它
  • 通过或企业策略启用旧版Cookie功能。这种选择也是暂时的,因此,再次强调,最好不要依赖它。此外,这还可以做一些其他操作,例如删除“
    SameSite=None
    必须是
    安全的
    要求”和“未指定的SameSite被视为
    SameSite=Lax
    ”,请参阅此处的链接以获取更多信息

  • 谢谢你深思熟虑的回答。至1:是的,我看到了这个链接,谢谢你在这里添加它。2.:据我记忆所及,我不认为这是一个选项,我需要从http升级到https,以便首先使用存储桶进行cookie身份验证。3.我正在把这些信息添加到我的cookies中,SameSite还没有设置好。将SameSite和SameSite设置为None是什么意思,因为这是同一个键。还有一个格式错误在2。在“安全”中,您希望我将安全设置为什么?现在谢谢。“将SameSite和SameSite设置为None是什么意思?”我调出
    SameSite=Strict
    SameSite=Lax
    ,意思是任何具有任一属性值的cookie都应该更改为
    SameSite=None;安全
    。“SameSite尚未设置”在这种情况下,您的Cookie正在被处理,就好像它们设置了
    SameSite=Lax
    。看看你是否不熟悉SameSite。“2处还有一个格式错误。在“安全”处,您希望我将安全设置为什么?“您不需要为
    Secure
    提供一个值,您只需要包含该属性。奇怪的是,只要我更改代码以更改cookie。它不再设置cookie。我的代码如下
    resp=Response({},status=status.HTTP_201_CREATED,headers={'Access Control Expose headers':'*','Set Cookie':'Cloud CDN Cookie='+Cookie+';Domain=Domain.com;Path=/;Expires='+formatted_date+';SameSite=None;Secure',})
    再次提醒您,Chrome的DevTools会告诉您拒绝cookie的原因,因此我建议您检查一下。然而,如果我不得不猜测的话,我会怀疑
    Secure
    的新用法导致了这个问题;试图设置cookie的连接必须是安全的(https)或来自本地主机。我正在进一步检查,是的,当我以这种方式设置它时,它会说:此cookie被阻止,因为它具有“安全”属性,但不是通过安全连接接收的。嗯,看来3不起作用了。到4。在这里发布之前我已经试过了,但似乎没有效果。