Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Авторизация php   Найти похожие ветки 

 
Nic ©   (2006-07-29 19:17) [0]

Мастера, помогите написать простенькую авторизацию на php.
Если пароль неверный то чтобы сообщало об этом, эсли верный, чтобы на другую страницу переходило. Уже гуглил, пытался сам написать - ничего не получается :( То ошибки вылазют, то не работает :(


 
Nic ©   (2006-07-29 19:19) [1]

Нашёл вот такое:
<?
if(!isset($password)) {$password="";}
$ok_pass="здесь пишется пароль";
if($password!=$ok_pass) {echo "<center>Введите пароль:<br>
<form action=admin.php method=post>
<input type=password size=20 name=password><input type=submit value=Понеслась!>
</form>
</center>";
exit; }
?>
Но оно почему-то всегда переходит на admin.php, в не зависимочти от введённого пароля. Help..


 
SPeller ©   (2006-07-29 19:20) [2]

Простейшую книгу по пхп в зубы


 
Nic ©   (2006-07-29 19:24) [3]


> SPeller ©   (29.07.06 19:20) [2]

Простейшая книга по пхп в зубах уже, и мне от неё плохо уже :( За ночь всю прочёл, вроде в общем разобрался как да что в принципе работет, но как реализовать сабж не пойму.


 
VirEx ©   (2006-07-29 19:29) [4]

была где-то недавно на "Потрепаться" тема...

а пароль ты как получаешь? пробуй так:
$password=$_POST["password"];


 
SPeller ©   (2006-07-29 19:30) [5]

Пример доисторический, для register_globals=on

и мне от неё плохо уже
И что, про register_globals ни слова?


 
Nic ©   (2006-07-29 19:32) [6]


> SPeller ©   (29.07.06 19:30) [5]

Не припомню. Книга совсем для новичков. То есть надо у сервака этот переключатель включить или команда какая?


 
antonn ©   (2006-07-29 19:33) [7]

Nic ©   (29.07.06 19:17)
зайди на woweb.ru, скачай там скрыпты какого нить форума, и посмотри (я там когда то скачивал Ron-Forum, там админ панель с паролем, по примеру для всего сайта сделал необязательную регистрацию)


 
grisme ©   (2006-07-29 19:36) [8]

допустим, форма ввода пароля передает параметр password своей же странице, методом POST...

в самом начале, ты должен взять этот параметр так:
$password=$_POST["password"];
потом сравнить:
if (strval($password)==<нужный пароль>)
{
   Header("Location:URL");
} else
{
  echo "<font color=red>Неверный пароль</font>";
}
примерно так...только вопрос, зачем переадресуешься если верен пароль? ты не боишься, что злоумышленник просто сразу вызовет эту страницу и все?)


 
Nic ©   (2006-07-29 19:39) [9]

Нужна самая простейшая защита, я бы сказал, формальная. Зав кафедрой сказал к понедельнику представить сабж + структуру электронной библиотеки.


 
antonn ©   (2006-07-29 19:46) [10]

if(isset($_POST["submit"])){
if($_POST["name"]==""){ пустой ник, можно ругнуться }
if($_POST["pswrd"]==""){ пустой пароль, можно ругнуться }
// я еще так иногда делаю, чтоб пароль не хранить в чистом виде - $pass_md5=md5($_POST["pswrd"]);
$name=$_POST["name"];
if ((strcasecmp($name,настоящий_ник)==0)and($pass_md5==настоящий_пароль)){
@header("Location: ".$pblink); //тут уж страницу сам указывай, у меня она передается
//угадал пароль
}else{
@header("Location: ".$pblink);
//не угадал пароль
}

думаю понятно, что в хтмл нужно иметь примерно следующее:
<form action="какой_шкрипт_вызывать" method="post">
<input type="text" name="name">
<input type="password" name="pswrd" >
<input type="submit" name="submit" value="Нажималка"></TD></TR>
</form>


 
Nic ©   (2006-07-29 19:49) [11]


> antonn ©   (29.07.06 19:46) [10]

Спасибо огромное! Сейчас буду пробовать.


 
antonn ©   (2006-07-29 19:50) [12]

grisme ©   (29.07.06 19:36) [8]
примерно так...только вопрос, зачем переадресуешься если верен пароль? ты не боишься, что злоумышленник просто сразу вызовет эту страницу и все?)

можно в куки загнать хеши пароля и ника, отрефрешиться на основную, а при ее "построении" уже проверять эти хеши.


 
grisme ©   (2006-07-29 20:21) [13]

antonn ©   (29.07.06 19:50) [12]
хых, да я знаю...:0) автор просил простейший вариант..


 
Nic ©   (2006-07-29 21:06) [14]

Поэкспериментировал-поэкспериментировал и получилось!! Спасибо огромное! Оказалось достаточно просто. Только вот внимательным надо быть, малейшая опечатка и ничего не работает... Теперь можно спать, наконец, лечь.


 
vidiv ©   (2006-07-30 17:51) [15]

читай мануал от PHP, там все есть :)) даже пример



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.026 c
2-1154439394
RomanH
2006-08-01 17:36
2006.08.27
Навигация по НД


11-1131824315
Владимир
2005-11-12 22:38
2006.08.27
Добрый день, подскажите как в RichEdit добавлять строки


15-1154071589
IceBeerg
2006-07-28 11:26
2006.08.27
Во! Незнал.


2-1155044934
fast2
2006-08-08 17:48
2006.08.27
Как второй раз не открыть дочерное окно?


15-1154409928
Ega23
2006-08-01 09:25
2006.08.27
С Днём рождения! 1 августа