Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HTTP AUTHENTICATION 
:(
    Опции темы
buddy
Дата 27.10.2003, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.11.2002
Где: Киев

Репутация: нет
Всего: нет



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

if((@$PHP_AUTH_USER!="login")||(@$PHP_AUTH_PW!="password")) {
header('WWW-Authenticate: Basic realm="Realm-Name"');
header("HTTP/1.O 401 Unautorized");
die ("<a href='index.php'>back</a>");
}
и тоже самое. закинул на сервер - работает и даже то чтот я написал... что это может быть?
PM WWW ICQ MSN   Вверх
IZ@TOP
Дата 27.10.2003, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Та же проблема была и у меня, но я решил этим методом не пользоваться, и просто забил на это дело ...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
MuToGeN
Дата 27.10.2003, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Код
$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_PW']
Так пробывал?


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
buddy
Дата 27.10.2003, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.11.2002
Где: Киев

Репутация: нет
Всего: нет



Код

if (empty($PHP_AUTH_USER)) {
           if (!empty($_SERVER) && isset($_SERVER['PHP_AUTH_USER']))
           {
               $PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER'];
           }
           else if (!empty($HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['PHP_AUTH_USER']))
           {
               $PHP_AUTH_USER = $HTTP_SERVER_VARS['PHP_AUTH_USER'];
           }
           else if (isset($REMOTE_USER))
           {
               $PHP_AUTH_USER = $REMOTE_USER;
           }
           else if (!empty($_ENV) && isset($_ENV['REMOTE_USER']))
           {
               $PHP_AUTH_USER = $_ENV['REMOTE_USER'];
           }
           else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['REMOTE_USER']))
           {
               $PHP_AUTH_USER = $HTTP_ENV_VARS['REMOTE_USER'];
           }
           else if (@getenv('REMOTE_USER'))
           {
               $PHP_AUTH_USER = getenv('REMOTE_USER');
           }

           else if (isset($AUTH_USER))
           {
               $PHP_AUTH_USER = $AUTH_USER;
           }
           else if (!empty($_ENV) && isset($_ENV['AUTH_USER']))
           {
               $PHP_AUTH_USER = $_ENV['AUTH_USER'];
           }
           else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['AUTH_USER']))
           {
               $PHP_AUTH_USER = $HTTP_ENV_VARS['AUTH_USER'];
           }
           else if (@getenv('AUTH_USER'))
           {
               $PHP_AUTH_USER = getenv('AUTH_USER');
           }
       }
       
       if (empty($PHP_AUTH_PW)) {
           if (!empty($_SERVER) && isset($_SERVER['PHP_AUTH_PW']))
           {
               $PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW'];
           }
           else if (!empty($HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['PHP_AUTH_PW']))
           {
               $PHP_AUTH_PW = $HTTP_SERVER_VARS['PHP_AUTH_PW'];
           }
           else if (isset($REMOTE_PASSWORD))
           {
               $PHP_AUTH_PW = $REMOTE_PASSWORD;
           }
           else if (!empty($_ENV) && isset($_ENV['REMOTE_PASSWORD']))
           {
               $PHP_AUTH_PW = $_ENV['REMOTE_PASSWORD'];
           }
           else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['REMOTE_PASSWORD']))
           {
               $PHP_AUTH_PW = $HTTP_ENV_VARS['REMOTE_PASSWORD'];
           }
           else if (@getenv('REMOTE_PASSWORD'))
           {
               $PHP_AUTH_PW = getenv('REMOTE_PASSWORD');
           }

           else if (isset($AUTH_PASSWORD))
           {
               $PHP_AUTH_PW = $AUTH_PASSWORD;
           }
           else if (!empty($_ENV) && isset($_ENV['AUTH_PASSWORD']))
           {
               $PHP_AUTH_PW = $_ENV['AUTH_PASSWORD'];
           }
           else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['AUTH_PASSWORD']))
           {
               $PHP_AUTH_PW = $HTTP_ENV_VARS['AUTH_PASSWORD'];
           }
           else if (@getenv('AUTH_PASSWORD'))
           {
               $PHP_AUTH_PW = getenv('AUTH_PASSWORD');
           }
       }

Этого достаточно чтобы проверить существование переменных? smile.gif
PM WWW ICQ MSN   Вверх
MuToGeN
Дата 27.10.2003, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



> Этого достаточно чтобы проверить существование переменных?

biggrin.gif Достаточно и этого:
Код
<? phpinfo(); ?>



--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
arial
Дата 27.10.2003, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: 6
Всего: 7



Да на локалхосте сервак наверняка как cgi стоит.


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
buddy
Дата 28.10.2003, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.11.2002
Где: Киев

Репутация: нет
Всего: нет



arial, да нифига. стоит как модуль
PM WWW ICQ MSN   Вверх
IZ@TOP
Дата 28.10.2003, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Самый простой способ аутентификации:

Код

if($_POST['password'] != "password" and $_POST['login'] != "login") {
   // Вывести форму для ввода логина и пароля
   exit()
}

// Админка ... или что там у тя ...



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
buddy
Дата 28.10.2003, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.11.2002
Где: Киев

Репутация: нет
Всего: нет



я понял, самый простой способ будет протестить на серваке, если пашет, то на локалхосте закоментить этот кусок и продолжать работу...
PM WWW ICQ MSN   Вверх
MuToGeN
Дата 28.10.2003, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Тоже верно. Сам сейчас использую полностью прозрачный модуль авторизации + сессионный движок + шаблонизатор (на .htaccess-овых AddHandler и Action), на своем сервере все разрабатываю в голом виде, заливаю на удаленный сервер - там появляется и авторизация, и шаблоны.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1918 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.