imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 25.07.2006, 22:08     # 1
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
Межсайтовая авторизация

Сабж. Как сделать? Есть несколько мыслей.
1. Редирект по всем сайтам, при авторизации на одном.
2. Использовать JAVASCRIPT, т.к. выполняется в браузере, то по идее должен иметь доступ ко всем кукам. Но в нем я не особо.
3. AJAX. Возможно изврат, но при авторизации на одном сайте, обращаться к другому, на котором заводить куку. При заходе в любой другой сайт, обращаться к тому и проверять на наличие куки.
andrei solovjev вне форума  
Старый 25.07.2006, 22:13     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
include 'http://primarysite.ru/auth.php';
if (believe_in_me($login,$pass))
{
...
}
RaZEr вне форума  
Старый 26.07.2006, 00:00     # 3
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
если сайты лежат на одном сервере, можно юзать сессии.
Если нет, общие функции авторизации и общую табличку юзеров как написал Razer
__________________
меня не вылечат
Псих вне форума  
Старый 26.07.2006, 22:25     # 4
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
В моем случае все не так страшно, т.к. все сайты на одном сервере. К счастью, проверено доступ к сесси по SID работает при переходе на другой сайт. Думаю сделать при авторизации на одном из сайтов - переадресация на другой (если не передался SID), где генерировать SID и куку. При пререходе на другие сайты - переадресация на тот сайт, где все заводил, получать из куки ID сессии, возвращать его назад. Итого 0 или два редиректа. Плохо по скорости и могут быть проблемы с файерволами.

Хотелось бы более универсального решения, если сайты не на одном сервере. Куки с одного сайта недоступны на другом. А SID не всегда подходит, например если посетитель вручную вводит адрес.
andrei solovjev вне форума  
Старый 27.07.2006, 01:43     # 5
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Простите, немного не понял... при переходе между сайтами сессия не сохраняется?
__________________
меня не вылечат
Псих вне форума  
Старый 27.07.2006, 08:59     # 6
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
Сессия сохраняется, не сохраняется механизм передачи идентификатора через куки (проверено), только через URL, что не подходит, поскольку посетитель может ввести название сайта руками, и тогда ему придется заново авторизовываться.
andrei solovjev вне форума  
Старый 27.07.2006, 09:32     # 7
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Смотри
при логине делаешь:
PHP код:
session_start();
$qr mysql_query("select id from users where name = '".mysql_real_escape_string($_POST["name"], $db)."' and password = '".md5($_POST[""password])."'"$db);
if (
$qr && mysql_num_rows($qr) == 1){
     
$user mysql_fetch_assoc($qr);
     
mysql_free_result($qr);
     
$_SESSION["user_id"] = $user["id"];

А потом на сайте уже вынимаешь данные юзера по id
PHP код:
$qr mysql_query("select * from users where id = ".$_SESSION["user_id"]); 
Такая схема не работает?
__________________
меня не вылечат
Псих вне форума  
Старый 27.07.2006, 22:10     # 8
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
Как php узнает, что в $_SESSION["user_id"], если не передался ни SID(пользователь ввел адрес руками) ни кука (т.к. это другой сайт)?
Получится такой запрос:
select * from users where id =
andrei solovjev вне форума  
Старый 28.07.2006, 01:04     # 9
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
а ты проверяй и если что new_session....
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 28.07.2006, 09:36     # 10
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
andrei solovjev
Да ему не надо узнавать. Ты сказал что
Цитата:
Сессия сохраняется
, значи т и елементы массива сессий должны сохранятся. И в параметрах запроса ничего менять не надо
__________________
меня не вылечат
Псих вне форума  
Старый 28.07.2006, 12:11     # 11
Face
Junior Member
 
Аватар для Face
 
Регистрация: 09.08.2005
Адрес: Свердловская область
Сообщения: 112

Face Известность не заставит себя ждать
Псих
andrei solovjev имеет в виду другое: допустим на сайт site1.lan пользователь залогинился, ему выдается некий SID, который сохранился в куках... так вот, как на сайте site2.lan узнать этот SID, чтобы по нему вытащить инфу из сессий?

andrei solovjev
Как вариант, SID можно передать так: на site1.lan делаем невидимый iframe с адресом site2.lan/cookie.php?SID=SID

Последний раз редактировалось Face; 28.07.2006 в 12:17.
Face вне форума  
Старый 28.07.2006, 16:11     # 12
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Почему другой. Если сессии от двух сайтов хранятся в одной папке, что происходит если два сайта крутятся на одном сервере, то сессия не должна быть другой!
__________________
меня не вылечат
Псих вне форума  
Старый 28.07.2006, 19:03     # 13
Face
Junior Member
 
Аватар для Face
 
Регистрация: 09.08.2005
Адрес: Свердловская область
Сообщения: 112

Face Известность не заставит себя ждать
Псих, про сервер ты правильно написал, но тут то проблема другая, которая должна решаться на уровне браузера - как передать одному сайту идентификатор сессии другого сайта
Face вне форума  
Старый 28.07.2006, 19:12     # 14
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Сессия, если не записана в кукис указывается единожды в стоке браузера, последующие разы она автоматом подключается из кукисов или с диска
__________________
меня не вылечат
Псих вне форума  
Старый 28.07.2006, 19:46     # 15
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
С какого ещё диска?
RaZEr вне форума  
Старый 29.07.2006, 13:45     # 16
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
RaZEr
Ну если сессия хранится на диске.. на серваке.
сессия не передается постоянно в строке. читал я такое где-т .. помоему на пхпклюб.ру
__________________
меня не вылечат
Псих вне форума  
Старый 29.07.2006, 14:22     # 17
Face
Junior Member
 
Аватар для Face
 
Регистрация: 09.08.2005
Адрес: Свердловская область
Сообщения: 112

Face Известность не заставит себя ждать
Псих
id сессии пытается передаться по кукам, если у браузера отключены куки, то ее id передается методом GET
Face вне форума  
Старый 29.07.2006, 14:31     # 18
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Цитата:
Ну если сессия хранится на диске.. на серваке.
Она всегда (почти всегда) храниться на диске сервера.

Если нужно авторизоваться на одном сайте, и записанную сессию распостранить на другой сайт того же сервера, то лучше её передавать не в куках (т.к. foreign cookies могут быть заблокированый стенкой), а в строке запроса.
RaZEr вне форума  
Старый 30.07.2006, 23:05     # 19
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
FACE:
>>Как вариант, SID можно передать так: на site1.lan делаем невидимый >>iframe с адресом site2.lan/cookie.php?SID=SID

Походит если сайтов не много, а если их скажем уже 10? Большая нагрузка на браузер и траффик.
andrei solovjev вне форума  
Старый 30.07.2006, 23:15     # 20
Face
Junior Member
 
Аватар для Face
 
Регистрация: 09.08.2005
Адрес: Свердловская область
Сообщения: 112

Face Известность не заставит себя ждать
andrei solovjev еще варианты - привязка аккаунта к ip... либо если сайты будут поддоменами основного - ставить cookies на основной домен
Face вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 23:49.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.