Установка файлов cookie в rails с опцией домена

StackOverflow https://stackoverflow.com/questions/1932058

  •  20-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь установить файл cookie в одном домене и получить к нему доступ из другого.Возможно ли это?

Вот что я делаю в своем приложении:

В контроллере доступ к тестовому действию осуществляется по этому URL-адресу:

http://myapp.com/account/test

def test
  cookies[:foo] = {
    :value => 'something',
    :domain => 'myapp.heroku.com'
  }
end

В том же контроллере доступ к действию test2 осуществляется по этому URL:

http://myapp.heroku.com/account/test2

def test2 
  puts "foo=#{cookies[:foo]}"
end

но значение cookies[:foo] всегда пустое.Можно ли получить доступ к файлу cookie из домена heroku.com.Я думал, что установка параметра:domain позволит это сделать.

Спасибо.

Это было полезно?

Решение

Опция :domain (и настройка домена для файлов cookie в целом) действительно работает только на поддоменах.то естьдля app1.mysite.com и app2.mysite.com — вы можете установить домен cookie на .mysite.com и разделить его между поддоменами.

Именно так и созданы файлы cookie.myapp.com и myapp.heroku.com — это отдельные домены, а не субдомены, поэтому попытка настроить домен таким образом не сработает.

Есть несколько способов получить настоящие междоменные файлы cookie, но они скорее вовлечен.

Другие советы

Вы не можете сделать это для другого домена, но вы можете сделать это для поддоменов.Так, например, приложение, работающее в домене example.com можно установить файл cookie для subdomain.example.com но не для exampleapp.com.

Я должен добавить, что если бы было возможно установить файлы cookie для других, произвольных доменов, возникли бы серьезные проблемы с безопасностью / конфиденциальностью.

Вы можете установить одинаковые файлы cookie для всех ваших доменов, выполнив следующие действия в environment.rb:

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

видишь здесь для получения документации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top