Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Скрипт авторизации на страницу.

32K
06 января 2009 года
lexus05
27 / / 02.10.2008
Есть очень полезный и очень простой скрипт авторизации на страничку, написанный на PHP, который запрашивает логин и пароль, а затем разрешает просмотр странички! Я пробовал его, почему то он не работает, может кто нить подскажет в чем дело? Буду благодарен! Видимо скрипт очень старый, 2000 года.
44K
06 января 2009 года
франсуа
8 / / 06.01.2009
кидай сам код сюда будем разбираться
12
06 января 2009 года
alekciy
3.0K / / 13.12.2005
Лентяям сюда: HTTP-Аутентификация в PHP
http://alekciy.ru/images/rtfm_noobs.jpg !!!!!!!!!!!!!!
32K
06 января 2009 года
lexus05
27 / / 02.10.2008
Ну и что, прочитал, ничерта не понял!:)
Может мне еще 3 тома прочитать, что один скриптик доделать.

Народ есть какие нить мнения? Хоть подсказки...
Вот код:

Код:
<?php
/******************************************************************************\
* Simple Page Protect                          Version 1.0                     *
* Copyright 2000 Frederic TYNDIUK (FTLS)       All Rights Reserved.            *
* E-Mail: tyndiuk@ftls.org                     Script License: GPL             *
* Created  02/28/2000                          Last Modified 02/28/2000        *
* Scripts Archive at:                          http://www.ftls.org/php/        *
*******************************************************************************/
/*******************************************************************************/
// Necessary Variables:

$LOGIN = "ftls";
$PASSWORD = "demo";
//  En: login /password
//  Fr: login / mots de passe

// End  Necessary Variables section
/******************************************************************************/

function error ($error_message) {
    echo $error_message."<BR>";
    exit;
}

if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == "$PASSWORD" )) ) {
    header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
    header("HTTP/1.0 401 Unauthorized");
    error("Unauthorized access...");
}
?>

<!-- Add code of your web page here -->
<HTML><HEAD><TITLE>Your protected page</TITLE></HEAD>
<BODY BGCOLOR="white">
<BR><BR><P ALIGN="Center"><FONT FACE="Arial, helvetica" SIZE="+2" COLOR="#336699"><STRONG><EM>Your protected page</EM></STRONG></FONT></P><BR>

<BR><BR><BR><BR><BR><BR><BR><BR>

<CENTER><BR><BR>
    <FONT FACE="Arial" SIZE=-2>
    <EM>&copy Copyright 2000 <A HREF="http://www.ftls.org/">FTLS</A> (Tyndiuk Fr&eacute;d&eacute;ric). All rights reserved.
    <BR>FTLS's PHP Scripts Archive : <A HREF="http://www.ftls.org/php/">http://www.ftls.org/php/</A></EM></FONT>
</CENTER></BODY></HTML>


Проблемма в том, что при заливке на FTP, открывается запрос логина и пароля, ввожу их но авторизация не проходит, хотя на локалке работает!
12
06 января 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: lexus05

Ну и что, прочитал, ничерта не понял!:)


"Если с первого раза не получилось - парашютный спорт не для вас!" (с)

Цитата: lexus05

Может мне еще 3 тома прочитать, что один скриптик доделать.


Нет, лучше четыре. Тебе надо ты и читай.

Цитата: lexus05

Проблемма в том, что при заливке на FTP, открывается запрос логина и пароля, ввожу их но авторизация не проходит, хотя на локалке работает!


Не может не проходить. Если все сделано правильно, значит работает, если где-то ошибся либо сервер не донастроен, то смотрим что нам пишет скрипт, а так же глядим в error log.

44K
07 января 2009 года
франсуа
8 / / 06.01.2009
ТС а возможности юзать базу нет?
976
07 января 2009 года
mikhalych
198 / / 04.01.2009
HTTP-Аутентификация в PHP возможна только в том случае, когда он выполняется как модуль веб-сервера Apache, и, соответственно, недоступна для CGI-версии.(взята из php.net)

Может на серваке php подключён как CGI ...:cool:
33K
07 января 2009 года
EnDenis
9 / / 22.11.2007
Скорее всего проблема в том, что у тебя на сервере register_globals off

Замени $PHP_AUTH_USER и $PHP_AUTH_USER на $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'] соответственно.
Вот код, который работает у меня на сервере (различия с твоим кодом лишь в использовании суперглобального массива $_SERVER)
Код:
<?php
/******************************************************************************\
* Simple Page Protect                          Version 1.0                     *
* Copyright 2000 Frederic TYNDIUK (FTLS)       All Rights Reserved.            *
* E-Mail: tyndiuk@ftls.org                     Script License: GPL             *
* Created  02/28/2000                          Last Modified 02/28/2000        *
* Scripts Archive at:                          http://www.ftls.org/php/        *
*******************************************************************************/
/*******************************************************************************/
// Necessary Variables:

$LOGIN = "ftls";
$PASSWORD = "demo";
//  En: login /password
//  Fr: login / mots de passe

// End  Necessary Variables section
/******************************************************************************/

function error ($error_message) {
    echo $error_message."<BR>";
    exit;
}

if ( (!isset($_SERVER['PHP_AUTH_USER'])) || ! (($_SERVER['PHP_AUTH_USER'] == $LOGIN) && ( $_SERVER['PHP_AUTH_PW'] == "$PASSWORD" )) ) {
    header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
    header("HTTP/1.0 401 Unauthorized");
    error("Unauthorized access...");
}
?>

<!-- Add code of your web page here -->
<HTML><HEAD><TITLE>Your protected page</TITLE></HEAD>
<BODY BGCOLOR="white">
<BR><BR><P ALIGN="Center"><FONT FACE="Arial, helvetica" SIZE="+2" COLOR="#336699"><STRONG><EM>Your protected page</EM></STRONG></FONT></P><BR>

<BR><BR><BR><BR><BR><BR><BR><BR>

<CENTER><BR><BR>
    <FONT FACE="Arial" SIZE=-2>
    <EM>&copy Copyright 2000 <A HREF="http://www.ftls.org/">FTLS</A> (Tyndiuk Fr&eacute;d&eacute;ric). All rights reserved.
    <BR>FTLS's PHP Scripts Archive : <A HREF="http://www.ftls.org/php/">http://www.ftls.org/php/</A></EM></FONT>
</CENTER></BODY></HTML>

Совет: читай HTTP-Аутентификация в PHP внимательнее
32K
07 января 2009 года
lexus05
27 / / 02.10.2008
есть но для этого не хотелось бы базу использовать, но в принципе можно было бы и с базой. Очень нужен скрипт.
33K
07 января 2009 года
EnDenis
9 / / 22.11.2007
Проблема в register_globals off
Замени $PHP_AUTH_USER и $PHP_AUTH_PW на $_SERVER['PHP_AUTH_USER'] и на $_SERVER['PHP_AUTH_PW'] соответственно
44K
07 января 2009 года
франсуа
8 / / 06.01.2009
ТС можно через htacces сделать если для одной админки ;)
если для бОльшего колличества юзеров то базу конечно юзать придется
32K
07 января 2009 года
lexus05
27 / / 02.10.2008
$_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'] не помогло.
А как сделать через htacces?
Просто нужно один файлик, например index.php зашифровать, тоесть чтобы видели его введя логин и пароль!
33K
07 января 2009 года
EnDenis
9 / / 22.11.2007
а версия PHP у тебя какая стоит?
32K
07 января 2009 года
lexus05
27 / / 02.10.2008
на хостинге PHP Version 5.2.5
33K
07 января 2009 года
EnDenis
9 / / 22.11.2007
после неудачной авторизации выведи содержимое массива $_SERVER
 
Код:
print_r($_SERVER);

так ты узнаешь, передались ли на сервер логин и пароль
32K
09 января 2009 года
lexus05
27 / / 02.10.2008
всем спасибо! нашел решение проблеммы с помощью файла .htacces
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог