|
|
|
| Вопрос такой появился... Есть 2 сайта одной компании. Они на разных доменах. Необходимо, чтобы Кукис с логином и паролем одного сайта читался и с другого. Т.е. если пользователь залогинился на одном сайте, то при переходе на другой, в полях логин и пароль стояли бы его данные.
Как это можно сделать? | |
|
|
|
|
|
|
|
для: NovikovMA
(19.07.2007 в 00:52)
| | Так можно сделать, если сайты находятся на поддоменах одинакого домена.
К примеру, site.example.com site2.example.com | |
|
|
|
|
|
|
|
для: NovikovMA
(19.07.2007 в 00:52)
| | Если основные домены разные то только если ссылки на второй сайт компании делать с get параметром куда и пихать логин пасс или POST метод, но тада нужно форму и кнопку "перейти на сайт кого-то там" - так кто =) | |
|
|
|
|
|
|
|
для: Proger
(19.07.2007 в 04:18)
| | ну не прямо же так в лоб.
Кроме того, речь шла о кукис-автологоне. При независимых доменах он и вправду неразрешим. | |
|
|
|
|
|
|
|
для: Trianon
(19.07.2007 в 09:52)
| | А можно сделать, например, iframe, с параметрами первого сайта, а в нем, предположим JavaScript скриптец, который бы читал Кукисы от лица первого сайта и записывал в формочку...
Или из iframe все равно javascript не сможет прочитать кукис? | |
|
|
|
|
|
|
|
для: NovikovMA
(19.07.2007 в 10:32)
| | нет, так не пускает.
Единственный вариант - это при заходе со второго сайта, сделать редирект на первый на определенную страницу, там прочитать кукис и сделать редирект назад, причем в параметрами в http
в лоб, правда.... | |
|
|
|
|
|
|
|
для: NovikovMA
(19.07.2007 в 10:56)
| | >Единственный вариант - это при заходе со второго сайта, сделать редирект на первый на определенную страницу, там прочитать кукис и сделать редирект назад, причем в параметрами в http
так - можно. Но всё равно потребуется постоянная работоспособность аутентифицирующего сервера.
>в лоб, правда....
ну это уже несовсем в лоб.
а если похешировать челенж-реквест редиректов - то совсем не в лоб. | |
|
|
|
|
|
|
|
для: Trianon
(19.07.2007 в 11:12)
| | а можно чуть подробнее про Challenge request'ы? | |
|
|
|
|
|
|
|
для: NovikovMA
(19.07.2007 в 13:02)
| | клиент (в данном случае - либо второй сервер, либо браузер по редирект-запросу второго сервера) обращается к аутентифицирующему серверу с запросом подтверждения полномочий.
Шаг 1. Сервер выдает клиенту случайную строку символов (challenge).
Шаг 2. Клиент формирует строку, состоящую из известных и ему и серверу реквизитов - (login, challenge, password) и вычисляет криптохеш этой строки - request . И отправляет его серверу.
Шаг 3. Сервер проделывает точно ту же операцию (составляет строку и вычисляет хеш) и затем сравнивает его с request полученным от клиента. В случае совпадения аутентификация считается пройденной.
Шаг 4. результат сообщается клиенту.
В общем виде такой метод называется CRAM (challenge-request autentication method)
В простейшем случае:
insert into users (login, password) values ( login, password)
Request == hash(challenge,login,password)) == hash(challenge, users.login, users.password)
Если пароль в БД хранится уже в хешированном виде (что, несомненно, предпочтительнее) то при вычислении request пароль тоже хешируется:
insert into users (login, pwdhash) values ( login, hash(login, password) )
Request == hash(challenge, hash(login,password))) == hash(challenge, users.pwdhash) | |
|
|
|
|
|
|
|
для: Trianon
(19.07.2007 в 13:23)
| | понятно, большое спасибо. | |
|
|
|
|
|
|
|
для: Trianon
(19.07.2007 в 13:23)
| | Trianon
Мне понравилась идея с организацией протокола.
Но вопрос не в этом(если я правильно понял :) ).
Человек хочет узнать как лучше всего узнавать чужие кукисы )) | |
|
|
|
|
|
|
|
для: STEVER
(19.07.2007 в 23:34)
| | >Но вопрос не в этом(если я правильно понял :) ).
>Человек хочет узнать как лучше всего узнавать чужие кукисы ))
Чужие - никак.
Свои - подойти к компьютеру и заглянуть.
PS... А у некоторых людей есть тяга заглядывать в чужие кошельки... | |
|
|
|