Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Пароль на страницу


Автор: chori 6.6.2007, 13:15
Доброе время суток. Я ни разу не создавал пароль на страницу, поэтому обращяюсь к вам.
Прочитать пароль и логин из файла, и сверить его с введенными в форму данными я могу, но я вообще не представляю как можно осуществить защиту страницы. Т.к. на этой же страницы и находяться данный, которые надо защищать.
Подскажите пожалуйста новечку.
Скажем есть страница admin.php 
На ней находяться данный и формы, которые доступны только админу. Для этого и надо поставить при входе на страницу форму с паролем и логином.
Заранее СПС.

Автор: BuShaRt 6.6.2007, 13:36
Ну ведь данные считываються сверху вниз и не как иначе, т.е. если вверху отрубить вывод, при неправильном вводе, то данные которые ниже остануться не обработанными ;)

Автор: FrRon 6.6.2007, 14:32
chori

Сам делал примерно так...
В admin.php


Код

  include ("./conf.php");  // Тут логин и пасс
  If  ( $_COOKIE['auth'] == md5($user.$pass)
  {
   // админка
  }
 else
  {
   include ("./auth.php");  // форма авторизации
  }


auth.php :

Код

<?php
            // конфиг уже проинклуден в админ.пхп, поэтому логи и пароль уже есть..
    $p = $_POST['pas'];
    $u = $_POST['usr'];;
    If ( ($u == $user) and ($p == $pass) ) { setcookie ("auth", md5($user.$pass), time() + 900); header ('Refresh: 0; url=admin.php'); } URL=admin.php'>"; }

 ?>

<form method = post>
<table>
    <tr><td align = left> User : </td><td align = right><input type = text name = usr ></td></tr>
    <tr><td align = left> Password : </td><td align = right><input type = text name = pas ></td></tr>
    <tr><td align = center><input type = submit value = ok ></td></tr>
</table>
</form>


***

Или я не так вопрос понял? =)

*пост ниже : пардон, исправляемся =)

Автор: BuShaRt 6.6.2007, 18:49
Цитата(FrRon @  6.6.2007,  14:32 Найти цитируемый пост)
print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=admin.php'>";

Ужас какой, header не бробывали юзать?

Автор: VeNICK 7.6.2007, 00:26
есть форма регистрации, и скрипт авторизации. если пароль правильный, то записываешь в сессию правильность и заходишь в админку. На каждой странице админки проверяешь авторизирован ли админ. если нет - пинок под зад и редирект на сраницу ввода пароля

Кажись усЁ

Автор: DragonLord 7.6.2007, 07:56
Лично я стараюсь выносить все данные для админа в отдельную папку и ставлю апачевскую защиту через .htacces и .htpasswd

Автор: chori 7.6.2007, 10:11
Цитата(DragonLord @ 7.6.2007,  07:56)
Лично я стараюсь выносить все данные для админа в отдельную папку и ставлю апачевскую защиту через .htacces и .htpasswd



Я б тоже ставил защиту чрез .htpasswd и .htacces , но дело в том что я не умею это делать.
Может подскажите как это сделать...

Автор: supervladislav 7.6.2007, 13:38
Цитата(chori @ 6.6.2007,  13:15)
Доброе время суток. Я ни разу не создавал пароль на страницу, поэтому обращяюсь к вам.
Прочитать пароль и логин из файла, и сверить его с введенными в форму данными я могу, но я вообще не представляю как можно осуществить защиту страницы. Т.к. на этой же страницы и находяться данный, которые надо защищать.
Подскажите пожалуйста новечку.
Скажем есть страница admin.php 
На ней находяться данный и формы, которые доступны только админу. Для этого и надо поставить при входе на страницу форму с паролем и логином.
Заранее СПС.

смотри делаешь воть как 
Код

админка
<?php
 if(isset($_POST['log'])   && isset($_POST['log'])!=""  && isset($_POST['pas']) && isset($_POST['pas'])!="" ){
session_start();
$_SESSION['auf']=12; 
header("location:http://www.aufzone.ru");    }
else{
echo(окно авторизации);exit();}
?>


ниже защищённая страница
Код

<?php
session_start();
if($_SESSION['auf']=12){


тут у тебя страница 
}
else{
echo('защищённая зона');exit();

}
?>


Автор: MoLeX 7.6.2007, 14:43
защита с помощью .htacces и .htpasswd

1 - файл .htacces
Код

AuthType Basic
AuthName "Название Авторизации"
AuthUserfile "полный путь к файлу/.htpasswd"
Require valid-user
Deny from all
Allow from 192.168.0.23 //моно еще доступ по ипи =))) хотя это лишнее


2 - файл .htpasswd
Код

ИМЯ:ПАРОЛЬ

Автор: chori 12.6.2007, 17:25
Цитата(MoLeX @ 7.6.2007,  14:43)
защита с помощью .htacces и .htpasswd

1 - файл .htacces
Код

AuthType Basic
AuthName "Название Авторизации"
AuthUserfile "полный путь к файлу/.htpasswd"
Require valid-user
Deny from all
Allow from 192.168.0.23 //моно еще доступ по ипи =))) хотя это лишнее


2 - файл .htpasswd
Код

ИМЯ:ПАРОЛЬ

Это я уже когда то пробовал. Не работало.
Щас снова попробовал - опять не работает.

Автор: Golda 12.6.2007, 18:22
в файл .htpasswd добавлять записи нужно соответствующей утилитой htpasswd. Например,

Код

htpasswd -c  /полный путь к файлу/.htpasswd golda


Пароль будет запрошен, благодаря -с файл будет перезаписан полностью. Тогда запись в файле будет корректно записана, пароль закодирован как положено.
Еще на всякий случай напоминаю, что это все заработает для сервера apache, в конфигурационном файле которого есть запись

Код

AllowOverride All


или

Код

AllowOverride AuthConfig ...


Переопределение поведения для аутентификации должно быть разрешено на самом верхнем уровне и не должно быть запрещено .htaccess в какой-нибудь другой дирректории на пути к вашей

Добавлено через 4 минуты и 3 секунды
Еще проверьте, если Вы использовали пример MoLeX, там есть ограничение по IP. Если Вы его не убирали, убедитесь, что заходите с разрешенного IP

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)