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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> http авторизация 
V
    Опции темы
console
Дата 26.12.2007, 04:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

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



Понимаю, что тема неоднократно поднималась. Я не спрашиваю как ее сделать, у меня другой вопрос: допустим вводим неправильный пароль. Пара логин/пароль сохраняется в $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW']. При последующих попытках у меня просто не появляется форма для ввода, т.е. введенная данные сохраняются на момент разовой сессии браузера, после перезапуска форма для ввода появляется. Как очистить неправильную пару логин/пароль ?


--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
krundetz
Дата 26.12.2007, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

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



попробуй unset()


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
GZep
Дата 26.12.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



krundetz, эта функция только удалит эти переменные из скрипта на серверной стороне.
console, посмотри, какие заголовки надо отправлять клиенту для появления формы и как это делать. (функция header();)


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
PrivateRayan
Дата 26.12.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.12.2007

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



никак
PM MAIL   Вверх
console
Дата 26.12.2007, 13:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

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



GZep, чтобы форма появилась надо отправить
Код

header('WWW-Authenticate: Basic realm="Administrator Control Panel Authorization"');

Но ведь не все время ее вызывать, условие должно быть. Во всех статьях и книгах я встречал условие - if( !isset($_SERVER['PHP_AUTH_USER']) ) , но у меня это условие срабатывает один раз за сеанс жизни браузера ).


PrivateRayan, это что значит, одна попытка что ли дается на ввод? Мне все таки кажется, что я неправильно делаю.

Добавлено через 1 минуту и 26 секунд
Попробую сессии подключить к этому делу...


--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
console
Дата 26.12.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

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



С сессией все ок...


--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
PrivateRayan
Дата 26.12.2007, 15:06 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.12.2007

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



при чем здесь одна попытка?
ты спрашивал, как очистить. я ответил.

условие, о котором ты говоришь, должно проверять логин и пароль, вообще-то.
у тебя есть такое условие в скрипте? 

сессии тут не нужны. если используешь сессии, то зачем тогда HTTP авторизация вообще?
PM MAIL   Вверх
KoLiZeI
Дата 26.12.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(console @ 26.12.2007,  04:39)
Понимаю, что тема неоднократно поднималась. Я не спрашиваю как ее сделать, у меня другой вопрос: допустим вводим неправильный пароль. Пара логин/пароль сохраняется в $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW']. При последующих попытках у меня просто не появляется форма для ввода, т.е. введенная данные сохраняются на момент разовой сессии браузера, после перезапуска форма для ввода появляется. Как очистить неправильную пару логин/пароль ?

Попробуй добавить дополнительное условие, ну допустим если нажата кнопка войти, проверять корректность $_SERVER['PHP_AUTH_USER'] $_SERVER['PHP_AUTH_PW'], в противном выводить поле ввода или при положительном результате пользовательское меню!
PM MAIL WWW ICQ Skype   Вверх
MoLeX
Дата 26.12.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


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

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



KoLiZeI вопрос решен, смотри на зеленую галочку рядом с темой  smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
console
Дата 26.12.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

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



Я говорил о том, что во всех встречавшихся мне статьях по HTTP авторизации условием на вывод формы является:
Код

if(!isset($_SERVER['PHP_AUTH_USER']))


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


--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
PrivateRayan
Дата 26.12.2007, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.12.2007

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



Если у тебя вопрос по статье, то его надо задавать на том сайте, где она опубликована, как мне кажется.
А по авторизации ещё вопросы остались?
PM MAIL   Вверх
console
Дата 26.12.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

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



По самой авторизации у меня вопросов собственно и не было...


--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
PrivateRayan
Дата 26.12.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.12.2007

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



Вопрос "как очистить переменные" мне, наверное, померещился.

А сейчас у тебя всё работает, и пароль запрашивается 3 раза с помощью сессий. Понятно.
PM MAIL   Вверх
FractalizeR
Дата 31.12.2007, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(console @ 26.12.2007,  17:23)
Я говорил о том, что во всех встречавшихся мне статьях по HTTP авторизации условием на вывод формы является:
Код

if(!isset($_SERVER['PHP_AUTH_USER']))


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

Почему бы в документацию по PHP не залезть в первую очередь?

Код

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
   header('WWW-Authenticate: Basic realm="My Realm"');
   header('HTTP/1.0 401 Unauthorized');
   echo 'Text to send if user hits Cancel button';
   exit;
} else {
   echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
   echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>



Грандиозный пример, не правда ли?


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0543 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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