Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: cookie другого сайта
 
 автор: NovikovMA   (19.07.2007 в 00:52)   письмо автору
 
 

Вопрос такой появился... Есть 2 сайта одной компании. Они на разных доменах. Необходимо, чтобы Кукис с логином и паролем одного сайта читался и с другого. Т.е. если пользователь залогинился на одном сайте, то при переходе на другой, в полях логин и пароль стояли бы его данные.
Как это можно сделать?

   
 
 автор: JIEXA   (19.07.2007 в 01:04)   письмо автору
 
   для: NovikovMA   (19.07.2007 в 00:52)
 

Так можно сделать, если сайты находятся на поддоменах одинакого домена.
К примеру, site.example.com site2.example.com

   
 
 автор: Proger   (19.07.2007 в 04:18)   письмо автору
 
   для: NovikovMA   (19.07.2007 в 00:52)
 

Если основные домены разные то только если ссылки на второй сайт компании делать с get параметром куда и пихать логин пасс или POST метод, но тада нужно форму и кнопку "перейти на сайт кого-то там" - так кто =)

   
 
 автор: Trianon   (19.07.2007 в 09:52)   письмо автору
 
   для: Proger   (19.07.2007 в 04:18)
 

ну не прямо же так в лоб.


Кроме того, речь шла о кукис-автологоне. При независимых доменах он и вправду неразрешим.

   
 
 автор: NovikovMA   (19.07.2007 в 10:32)   письмо автору
 
   для: Trianon   (19.07.2007 в 09:52)
 

А можно сделать, например, iframe, с параметрами первого сайта, а в нем, предположим JavaScript скриптец, который бы читал Кукисы от лица первого сайта и записывал в формочку...
Или из iframe все равно javascript не сможет прочитать кукис?

   
 
 автор: NovikovMA   (19.07.2007 в 10:56)   письмо автору
 
   для: NovikovMA   (19.07.2007 в 10:32)
 

нет, так не пускает.

Единственный вариант - это при заходе со второго сайта, сделать редирект на первый на определенную страницу, там прочитать кукис и сделать редирект назад, причем в параметрами в http

в лоб, правда....

   
 
 автор: Trianon   (19.07.2007 в 11:12)   письмо автору
 
   для: NovikovMA   (19.07.2007 в 10:56)
 

>Единственный вариант - это при заходе со второго сайта, сделать редирект на первый на определенную страницу, там прочитать кукис и сделать редирект назад, причем в параметрами в http

так - можно. Но всё равно потребуется постоянная работоспособность аутентифицирующего сервера.

>в лоб, правда....
ну это уже несовсем в лоб.
а если похешировать челенж-реквест редиректов - то совсем не в лоб.

   
 
 автор: NovikovMA   (19.07.2007 в 13:02)   письмо автору
 
   для: Trianon   (19.07.2007 в 11:12)
 

а можно чуть подробнее про Challenge request'ы?

   
 
 автор: Trianon   (19.07.2007 в 13:23)   письмо автору
 
   для: 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)

   
 
 автор: NovikovMA   (19.07.2007 в 15:54)   письмо автору
 
   для: Trianon   (19.07.2007 в 13:23)
 

понятно, большое спасибо.

   
 
 автор: STEVER   (19.07.2007 в 23:34)   письмо автору
 
   для: Trianon   (19.07.2007 в 13:23)
 

Trianon
Мне понравилась идея с организацией протокола.

Но вопрос не в этом(если я правильно понял :) ).
Человек хочет узнать как лучше всего узнавать чужие кукисы ))

   
 
 автор: Trianon   (20.07.2007 в 01:01)   письмо автору
 
   для: STEVER   (19.07.2007 в 23:34)
 

>Но вопрос не в этом(если я правильно понял :) ).
>Человек хочет узнать как лучше всего узнавать чужие кукисы ))
Чужие - никак.
Свои - подойти к компьютеру и заглянуть.

PS... А у некоторых людей есть тяга заглядывать в чужие кошельки...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования