Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用域选项在rails中设置cookie_Ruby On Rails_Heroku - Fatal编程技术网

Ruby on rails 使用域选项在rails中设置cookie

Ruby on rails 使用域选项在rails中设置cookie,ruby-on-rails,heroku,Ruby On Rails,Heroku,我正在尝试在一个域中设置cookie并从另一个域访问它。这可能吗 以下是我在应用程序中的操作: 在控制器中,通过以下url访问测试操作: 在同一控制器中,通过以下url访问test2操作: 但是cookies[:foo]的值始终为空。是否可以从heroku.com域访问cookie。我认为设置:domain选项将允许这样做 谢谢 您不能对其他域执行此操作,但可以对子域执行此操作。那么比如说,, 在domain example.com上运行的应用程序可以为subdomain.example.com

我正在尝试在一个域中设置cookie并从另一个域访问它。这可能吗

以下是我在应用程序中的操作:

在控制器中,通过以下url访问测试操作:

在同一控制器中,通过以下url访问test2操作:

但是cookies[:foo]的值始终为空。是否可以从heroku.com域访问cookie。我认为设置:domain选项将允许这样做


谢谢

您不能对其他域执行此操作,但可以对子域执行此操作。那么比如说,, 在domain example.com上运行的应用程序可以为subdomain.example.com设置cookie,但不能为exampleapp.com设置cookie

我必须补充一点,如果有可能为其他任意域设置cookie,那么将存在巨大的安全/隐私问题

通过在environment.rb中执行以下操作,可以为所有域设置相同的cookie:

 ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_domain => '.mydomain.com']

有关文档,请参阅。

您不能对其他域执行此操作,但可以对子域执行此操作。那么比如说,, 在domain example.com上运行的应用程序可以为subdomain.example.com设置cookie,但不能为exampleapp.com设置cookie

我必须补充一点,如果有可能为其他任意域设置cookie,那么将存在巨大的安全/隐私问题

通过在environment.rb中执行以下操作,可以为所有域设置相同的cookie:

 ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_domain => '.mydomain.com']

有关文档,请参阅。

域选项和在Cookie上设置域通常只能跨子域工作。i、 e.对于app1.mysite.com和app2.mysite.com,您可以将cookie域设置为.mysite.com,并在子域之间共享

这正是cookies的工作原理。myapp.com和myapp.heroku.com是独立的域,而不是子域,因此尝试以这种方式设置域是行不通的


有一些方法可以实现真正的跨域Cookie-但它们是:域选项和在Cookie上设置域通常只在子域中有效。i、 e.对于app1.mysite.com和app2.mysite.com,您可以将cookie域设置为.mysite.com,并在子域之间共享

这正是cookies的工作原理。myapp.com和myapp.heroku.com是独立的域,而不是子域,因此尝试以这种方式设置域是行不通的


有一些方法可以实现真正的跨域Cookie-但是它们是

你可能想签出

你可能想签出

而且,有些浏览器或插件可能不允许你的应用程序这样做。。。但我不确定。而且,可能有些浏览器或插件不允许你的应用程序这么做。。。但我不确定。
 ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_domain => '.mydomain.com']