http authentication @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 17 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
hoax
новый человек
0
Сообщения: 15
Зарегистрирован: 18.12.03
Откуда: Минск
Заголовок сообщения: http authentication
Сообщение Добавлено: 1 Декабрь 2004, 17:15:26 
помогите плиз пройти эту гадость при помощи пхп.
следующий код не помогает.
Код:
<?
$credentials=base64_encode("username:password");
Header("Location: http://192.168.1.2/");
Header("Authorization: Basic ".$credentials);
?>
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 1 Декабрь 2004, 20:12:03 
Было бы странно, если бы этот код помогал... Ты вообще понял, что именно ты написал?

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 1 Декабрь 2004, 21:37:58 
и ещё, желательно несколько расширить понятие "пройти".
Akela
Констататор
12
Сообщения: 3239
Зарегистрирован: 03.05.02
Откуда: Европа
Сообщение Добавлено: 1 Декабрь 2004, 21:48:34 
и ещё желательно расширить понятие "эту гадость"
Ainur Муж.
соучастник
16
Сообщения: 731
Зарегистрирован: 15.09.04
Откуда: Italia
Сообщение Добавлено: 1 Декабрь 2004, 23:08:24 
Я думаю, что тут расширять не чего не нужно.
Нужно объяснять, что такое PHP для начала.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 1 Декабрь 2004, 23:12:39 
Тут надо объяснять, что такое HTTP и чем клиент отличается от сервера. Про PHP здесь говорить рано.

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
Loki1zI Муж.
новый человек
1
Сообщения: 141
Зарегистрирован: 27.10.04
Откуда: poznyaki.kiev.ua
Сообщение Добавлено: 2 Декабрь 2004, 01:42:04 
иногда полезно читать книги )

например: "Разарботка веб-приложений с помощью PHP и MYSQL" Люк Веллинг, Лора Томпсон... стр. 317 - 328... главы Защиты нескольких страниц и дальше...
Akela
Констататор
12
Сообщения: 3239
Зарегистрирован: 03.05.02
Откуда: Европа
Сообщение Добавлено: 2 Декабрь 2004, 02:40:44 
Loki1zI, типа того? ;)
Код:
<?php

// if we are using IIS, we need to set $PHP_AUTH_USER and $PHP_AUTH_PW
if (substr($SERVER_SOFTWARE, 0, 9) == 'Microsoft' &&
    !isset($PHP_AUTH_USER) &&
    !isset($PHP_AUTH_PW) &&
    substr($HTTP_AUTHORIZATION, 0, 6) == 'Basic '
   )
{
  list($PHP_AUTH_USER, $PHP_AUTH_PW) =
    explode(':', base64_decode(substr($HTTP_AUTHORIZATION, 6)));
}

// Replace this if statement with a database query or similar
if ($PHP_AUTH_USER != 'user' || $PHP_AUTH_PW != 'pass')
{
  // visitor has not yet given details, or their
  // name and password combination are not correct

  header('WWW-Authenticate: Basic realm="Realm-Name"');
  if (substr($SERVER_SOFTWARE, 0, 9) == 'Microsoft')
    header('Status: 401 Unauthorized');
  else
    header('HTTP/1.0 401 Unauthorized');

  echo '<h1>Go Away!</h1>';
  echo 'You are not authorized to view this resource.';
}
else
{
  // visitor has provided correct details
  echo '<h1>Here it is!</h1>';
  echo '<p>I bet you are glad you can see this secret page.</p>';
}
?>
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 2 Декабрь 2004, 19:38:57 
Loki1zI, ты бы ещё Ветхий Завет посоветовал
Akela
Констататор
12
Сообщения: 3239
Зарегистрирован: 03.05.02
Откуда: Европа
Сообщение Добавлено: 2 Декабрь 2004, 20:20:19 
Чебурген, вообще иногда стоит начинать читать книжки и с такой! :laugh:
Loki1zI Муж.
новый человек
1
Сообщения: 141
Зарегистрирован: 27.10.04
Откуда: poznyaki.kiev.ua
Сообщение Добавлено: 6 Декабрь 2004, 00:29:18 
Akela, совершенно верно...
Чебурген, хе-хе... но в данном случае мой совет помогает полностью преодолеть проблему...
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 6 Декабрь 2004, 03:47:22 
Loki1zI, ой, как интересно!
И какую же проблему позволяет "преодолеть" этот кривой код?
Loki1zI Муж.
новый человек
1
Сообщения: 141
Зарегистрирован: 27.10.04
Откуда: poznyaki.kiev.ua
Сообщение Добавлено: 7 Декабрь 2004, 03:13:13 
Разбирайтесь, вот Вам код с русскими комментариями...
Код:
<?php

// Если используется сервер IIS, потребуется установить переменные  среды
if (substr($SERVER_SOFTWARE, 0, 9) == 'Microsoft' &&
    !isset($PHP_AUTH_USER) &&
    !isset($PHP_AUTH_PW) &&
    substr($HTTP_AUTHORIZATION, 0, 6) == 'Basic '
   )
{
  list($PHP_AUTH_USER, $PHP_AUTH_PW) =
    explode(':', base64_decode(substr($HTTP_AUTHORIZATION, 6)));
}

// Замените этот оператор if запросом к базе данных или чем-то подобным
if ($PHP_AUTH_USER != 'user' || $PHP_AUTH_PW != 'pass')
{
  // Посетитель еще не передал деталей или его
  // имя пользователя и пароль некорректны

  header('WWW-Authenticate: Basic realm="Realm-Name"');
  if (substr($SERVER_SOFTWARE, 0, 9) == 'Microsoft')
    header('Status: 401 Unauthorized');
  else
    header('HTTP/1.0 401 Unauthorized');

  echo '<h1>Уходите!</h1>';
  echo 'Вам не разрешено просматривать этот ресурс.';
}
else
{
  // Посетитель предоставил правильную информацию
  echo '<h1>Вы на месте!</h1>';
  echo 'Я полагаю, вы счастливы лицезреть эту секретную страницу.';
}
?>


з.ы. данные $PHP_AUTH_USER, $PHP_AUTH_PW хранятся в файле .htpass...
так что вот тебе и выход из проблемы http аутентификации...
Akela
Констататор
12
Сообщения: 3239
Зарегистрирован: 03.05.02
Откуда: Европа
Сообщение Добавлено: 7 Декабрь 2004, 03:33:31 
Loki1zI, добрый ты! :beer:
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 7 Декабрь 2004, 05:29:15 
Loki1zI, а тебя не затруднит пояснить - какое отношение твои труды имеют к вопросу, который задал hoax?
Akela
Констататор
12
Сообщения: 3239
Зарегистрирован: 03.05.02
Откуда: Европа
Сообщение Добавлено: 7 Декабрь 2004, 05:31:47 
Чебурген, я был бы очень рад, если бы мне кто-то прояснил какой именно вопрос он задал. Из авторского текста это совершенно непонятно.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 7 Декабрь 2004, 09:12:27 
hoax хотел, он хотел, чтобы серверный скрипт сказал браузеру, куда ему пойти и как пройти аутентификацию.

Я думал, что это понятно.

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 17 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100