Cookies herokuapp.com上的Heroku应用程序中的cookie安全吗?

Cookies herokuapp.com上的Heroku应用程序中的cookie安全吗?,cookies,heroku,cross-domain,Cookies,Heroku,Cross Domain,我正在开发一个应用程序,我将在Heroku上部署它。该应用程序仅在另一个站点的iframe中使用,因此我不关心域名。我计划在example.herokuapp.com上部署我的应用程序,而不是在example.com上使用自定义域 我的应用程序使用cookies,我想确保其他人不能操纵我的cookies来保护我的应用程序免受攻击和类似的攻击。如果attacker.herokapp.com能够为herokapp.com设置cookie,浏览器将无法保护我,因为herokapp.com不是一个安全的

我正在开发一个应用程序,我将在Heroku上部署它。该应用程序仅在另一个站点的
iframe
中使用,因此我不关心域名。我计划在
example.herokuapp.com
上部署我的应用程序,而不是在
example.com
上使用自定义域

我的应用程序使用cookies,我想确保其他人不能操纵我的cookies来保护我的应用程序免受攻击和类似的攻击。如果
attacker.herokapp.com
能够为
herokapp.com
设置cookie,浏览器将无法保护我,因为
herokapp.com
不是一个安全的浏览器。有关此问题的详细说明,请参阅


我的问题是:当浏览器无法保护我的用户时,Heroku会通过阻止
herokuapp.com
的cookie来保护我的用户吗?

我刚刚尝试从我的Heroku应用程序添加一个响应标题为
Set cookie:name=value;路径=/;Domain=.herokuapp.com
,令我失望的是,我可以在浏览器中看到完整的标题。因此,Heroku基础设施不会检测并删除这个跨应用程序的Supercokie

我认为有三种可能的方法可以保护Heroku应用程序免受跨应用程序超级脚本的攻击:

  • 根本不要用饼干
  • 使用自定义域
  • 验证每个cookie是否由应用程序实际设置,并通过检查将其限制为客户端的IP地址

我对Heroku的功能要求是,他们应该过滤通过HTTP路由的HTTP响应,这样,在他们的基础设施上托管的应用程序就不能使用
Domain=herokuapp.com

设置cookie,在我看来,只要您为
example.herokuapp.com
设置cookie,那么cookie就不会被操纵了。cookie将仅呈现给运行在
example.herokuapp.com
上的应用程序和
herokuapp.com
(其中没有应用程序运行)

我只是想为遇到这个问题的任何人发布一个更新。我正在研究一个类似的问题,只是我想有目的地允许从两个不同的heroku应用程序访问同一个cookie

“herokuapp.com”和“herokusl.com”现在处于启用状态,因此如果为其中一个域设置cookie,则它们应该是安全的。为了在两个应用程序之间共享cookies,我不得不使用自定义域


Heroku也发表了一篇关于这个话题的文章:

我不确定我是否理解你想说的话。是的,如果我已经自己在example.herokuapp.com上设置了cookie,我是安全的,但是当我收到一个包含cookie的请求时,我无法知道是我自己在example.herokuapp.com上设置的,还是其他人在herokuapp.com上设置的。如果在你的最后一句话中,你的意思是“和”,而不是“开”,那么我的应用程序设置的cookie将不会显示在裸露的herokuapp.com域中,但我担心的不是我的应用程序设置的cookie。不过,你为什么担心其他网站设置的cookie?如果在cookie中存储敏感信息,或者cookie用于存储会话信息,则应加密cookie,然后对其签名。您可以在此处阅读详细信息:对cookie进行签名和加密并不能防止重播攻击。Carol访问了我的网站,得到了一个会话cookie。Alice访问了Carol的站点,该站点设置了我为Carol提供的herokuapp.com域的会话cookie。然后Alice访问我的站点,我的站点将收到Carol的会话cookie,并认为她就是Carol。在我的网站上,这意味着Alice可能会自动使用Carol的用户帐户登录,她可能会输入一些私人数据,而不会注意到她已登录到Carol的帐户。嗯,我不明白。如果您在myapp.herokuapp.com域中设置cookie,那么它将不会显示在其他任何地方,也没有人能够重播它。您是对的,我的cookie不会显示在其他任何地方,但我担心的是其他人的cookie会显示给我。你知道为什么浏览器在处理cookie时使用公共后缀(参见RFC6265)吗?