• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите с авторизаций в Php

  • Автор темы Hetman
  • Дата начала
Статус
Закрыто для дальнейших ответов.
H

Hetman

есть код
Код:
<?
if (!@imap_open("{127.0.0.1:143}", $PHP_AUTH_USER,$PHP_AUTH_PW,OP_READONLY)){
$PHP_AUTH_USER=@$_POST['login'];
$PHP_AUTH_PW=@$_POST['password'];
if (@!imap_open("{127.0.0.1:143}", $PHP_AUTH_USER,$PHP_AUTH_PW,OP_READONLY)){
 Header( "WWW-Authenticate: Basic realm=\"Mail client\"");
 Header( "HTTP/1.0 401 Unauthorized");
 echo "<H1>Authorization Required\n\rOr Can't Connect With Sever</H1>\n";
 exit;
}
}
если я ввожу логин и пароль на главной странице и передаю его на этот скрипт методом POST, то всё работает отлично.
Если открыть стразу страницу скрипта (не заходя на стартовую)- появляется окно для авторизации (как и положено), но после ввода логина, пароля и нажатия на OK, снова появляется окно для авторизации, т.е. $PHP_AUTH_USER,$PHP_AUTH_PW фактически остаються пустыми
пробую на локальной машине с установленым Денвером.
почему так происходит?
пробывал даже использовать $_SERVER['PHP_AUTH_USER']
 
E

ExtremeRuff

Так естественно, у тебя всегда логин и пароль берутся из ПОСТ переменных, даже если ты пряма на страницу перешёл, а нужно в этом случае брать их из
Код:
$_SERVER['PHP_AUTH_USER']
и
$_SERVER['PHP_AUTH_PW']
И где ты пробовал использовать $_SERVER['PHP_AUTH_USER'] ???
 
S

s10

2 ExtremeRuff
вы не намекнете в чем ошибка?
Код:
<?
$_SERVER = $HTTP_SERVER_VARS;

if(!isset($_SERVER['PHP_USER_USER']))
{
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unathorized');
echo "faild";
}else{
echo "User name is :".$_SERVER['PHP_AUTH_USER']."<br />";
echo "Password is :".$_SERVER['PHP_AUTH_PW']."<br />";
}

?>

рез.
faild
 
H

Hetman

теперя я врубился, что за ошибка, спасибо! :D
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!