[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Автоматическая авторизация при редиректе
PhD
Нужно перенаправить пользователя с сайта А на сайт Б, на сайте Б есть Basic-авторизация (просто через .htaccess), нужно направить пользователя так, чтобы его не спрашивало логин/пароль (они у скрипта есть).
Можно ли такое сделать? rolleyes.gif



Спустя 3 часа, 35 минут, 2 секунды (14.03.2010 - 01:59) ApuktaChehov написал(а):
Можно попробовать куками, правда, не знаю будут ли они работать на другом хосте. Ну или можно отправить данные GET или POST запросом. Но это очень небезопасно.

Спустя 17 минут, 51 секунда (14.03.2010 - 02:17) PhD написал(а):
Пример можно? Теории и я могу писать smile.gif

Спустя 4 минуты, 33 секунды (14.03.2010 - 02:22) Nikitian написал(а):
Есть 2 варианта:
1. Указать нужные логин-пароль в строке урла. http://login:password@siteb.ru/
2. Авторизацию делать не через .htaccess, а скриптом. Ставим гет-параметр при редиректе http://siteb.ru/?autoauth=1

define('login','qqqqq');
define('password','qqwqewe');
if(!isset($_SERVER['PHP_AUTH_USER']) && empty($_GET['autoauth']) && empty($_COOKIE['autoauth']))
{
header('WWW-Authenticate: Basic realm="trololo"');
header('HTTP/1.0 401 Unauthorized');
echo'Без авторизации пользоваться сайтом нельзя';
die;
}
elseif(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']))
{
//Здесь проверим логин-пароль. Если как тут только одна пара, то можно тупо так:
if($_SERVER['PHP_AUTH_USER']!=login || $_SERVER['PHP_AUTH_PW']!=password)
{
header('WWW-Authenticate: Basic realm="trololo"');
header('HTTP/1.0 401 Unauthorized');
echo'Без авторизации пользоваться сайтом нельзя';
die;
}
}

if(!empty($_GET['autoauth']))setcookie('autoauth',1);



Написал навскидку, чтбоы показать как этим пользоваться. Не факт, что не накосячил, да и дублирование кода мне не нравится, но мозг по-другому уже не генерит.

Спустя 4 минуты, 22 секунды (14.03.2010 - 02:26) FatCat написал(а):
Цитата (Nikitian @ 14.03.2010 - 03:22)
http://login:password@siteb.ru/

В Опере такая конструкция сработает с промежуточным запросом: предупреждение системы безопасности.

Спустя 1 минута, 8 секунд (14.03.2010 - 02:27) PhD написал(а):
Спасибо, но...

Первый вариант не идет, т.к. браузер ругается по поводу политик безопасности, т.е. все равно лишнее телодвижение для конечного пользователя.

Второй вариант тоже не идет, т.к. предполагает изменение авторизации на втором сайте, а скрипт можно изменять только на первом сайте. sad.gif

Спустя 2 минуты, 19 секунд (14.03.2010 - 02:30) Nikitian написал(а):
Цитата (FatCat @ 13.03.2010 - 23:26)
Цитата (Nikitian @ 14.03.2010 - 03:22)
http://login:password@siteb.ru/

В Опере такая конструкция сработает с промежуточным запросом: предупреждение системы безопасности.

Опера популярна только в России user posted image
Всегда недолюбливал скандинавов

Спустя 57 минут, 38 секунд (14.03.2010 - 03:27) ApuktaChehov написал(а):
А как происходит авторизация через .htaccess ?

Спустя 2 минуты, 34 секунды (14.03.2010 - 03:30) Nikitian написал(а):
Цитата (ApuktaChehov @ 14.03.2010 - 00:27)
А как происходит авторизация через .htaccess ?

Имеется ввиду basic-авторизация

Спустя 13 минут, 31 секунда (14.03.2010 - 03:43) ApuktaChehov написал(а):
blink.gif В первый раз слышу, стыдно sad.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.