информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяSpanning Tree Protocol: недокументированное применениеВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 С наступающим 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[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
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach