Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | |
chomp сделал, - не помогает =( 11.10.04 07:49 Число просмотров: 1537
Автор: n0xi0uzz <Черкасов Виктор> Статус: Member Отредактировано 11.10.04 07:51 Количество правок: 1
|
|
<programming>
|
[Perl] проблема с авторизацией на форуме 09.10.04 09:29
Автор: n0xi0uzz <Черкасов Виктор> Статус: Member
|
Начал писать авторизацию на своем форуме, но застрял вообще на ерунде какой-то. Я в тупике, вообще не могу понять в чем дело =(
Смотрите сами, - вот форма авторизации:
print qq~
<table align=center width=90%>
<th>Авторизация:</th>
<tr><td><center>
<form method=post action=f.pl>
Логин: <input name=FAlogin>
Пароль: <input name=FApassw type=password>
<input name=action type=hidden value=auth>
<input type=submit value=Войти>
<a href=f.pl?act=reg>Регистрация</a>
</form>
</table>
~;
$FAlogin = $cgi->param("FAlogin");
$FApassw = $cgi->param("FApassw");
if ($action eq "auth")
{
&auth;
}
---
Вот подпрограмма, которая вызывается при авторизации и, по идее, должна авторизировать пользователя (она пока что только выводит javascript окна, которые сообщаю либо при ошибках при авторизации, либо о успешной авторизации):
sub auth {
if (-e "users/$FAlogin.user")
{
open UF, "users/$FAlogin.user";
@ui = <UF>;
close UF;
$passw = $ui[1];
$Cpassw = crypt($passw, $passw);
if ($Cpassw eq $FApassw)
{
print "<script language=\"JavaScript\">alert(\'Вы успешно авторизированы!\');</script>";
}else
{
print "<script language=\"JavaScript\">alert(\'Неверный пароль!\');</script>";
}
}else
{
print "<script language=\"JavaScript\">alert(\'Пользователя с таким именем не существует!\');</script>";
}
}
---
Пароль юзера, зашифрованный crypt(); хранится второй строкой в файле. Вот пример такого файла (ну на всякий случай):
main_c0der
pauONM/HSu9pM
0
---
Первая строчка - статус юзера, вторая - тот самый зашифрованный пароль, третья - уровень доступа к форуму.
Теперь проблема. При вводе логина и пароля в форму авторизации выдается ошибка "Неверный пароль!".
Хотя пароль я ввожу верный, - это 100%.
Почему так происходит я просто не могу понять. Надеюсь на вашу помощь.
|
|
А кто будет $FApassw криптовать для сравнения?! 13.10.04 17:35
Автор: choor Статус: Elderman
|
|
| |
Вот она - моя невнимательность... =( Огромное спасибо! ;) 19.10.04 07:39
Автор: n0xi0uzz <Черкасов Виктор> Статус: Member
|
|
| | |
Да не за что :) 20.10.04 04:36
Автор: choor Статус: Elderman
|
|
|
1. @ui = ; - считывает по идее только первую строчку из... 10.10.04 14:42
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
|
1. @ui = <UF>; - считывает по идее только первую строчку из файла. Вставь для проверки вывод $ui[1] в окошко.
2. Не забудь сделать chop тому что читаешь из файла, чтобы отсекать \r\n
|
| |
ни боже мой 10.10.04 15:42
Автор: dl <Dmitry Leonov>
|
При считывании в массив в него заливается весь файл, по строчке в элемент массива.
А вот chomp @ui действительно стоит сделать.
|
| | |
chomp сделал, - не помогает =( 11.10.04 07:49
Автор: n0xi0uzz <Черкасов Виктор> Статус: Member Отредактировано 11.10.04 07:51 Количество правок: 1
|
|
|
|