|
аутентификация пользователей через веб-интерфейсА посему сей метод, как небезопасный, лучше не использовать. Лучше взять готовую Perl-библиотеку: Net. POP3 Аутентификация Простой и безопасный метод проверки подлинности пользователя. Берется библиотека Net::POP3 и стандартными методами пытаемся влогиниться в почтовый ящик. Если нам это удалось, то логин/пароль верны, и обратный результат в ином случае. Модуль Net::POP3 дает пользователю создать объект и 14 методов к нему. Все методы изучать нет смысла - они довольно-таки неподробно описаны в документации к модулю, нас более интересует метод login($user,$passwd). Он возвращает значение undef в случае неудачной аутентификации, или, в случае удачного входа в почтовый ящик, количество писем в оном, или строку "0E0", если писем нет , т.е. "пишут". Порядок работы с ним следующий: use Net::POP3; &parse_form # Читаем из формы переданные пароль/логин # Создаем объект $pop = Net::POP3->new('popserver') || print "Cannot create connectionn"; # пробуем влогиниться # в $res будет возвращен результат логина $res = $pop->login($form{'login'},$form{'password'}); if ($res == undef) { # неудача print "Incorrect username or password!n"; } else { # влогинились # делаем, что надо # # следующий код нарисован для того, чтобы хоть что-то # делалось. if ($res eq "0E0") { # писем нет print "You have $res messages in mailbox.n"; } else { # письма есть print "You have $res messages in mailbox.n"; } } #закрываем соединение. $pop->quit(); Намного проще и безопаснее, чем лезть в святая святых безопасности Unix систем- файл shadow. Да и не нужно просить сисадмина сервера установить на ваш скрипт setuid bit, хотя заранее можно сказать, что любой нормальный сисадмин вам в этом откажет, и будет на все сто прав. А библиотека Net есть практически на любом Web-сервере, где есть доступ к perl интерпретатору. Другие статьи по теме: - использование библиотеки mime-base64- Perl для чайников от ns - аутентификация пользователей через веб-интерфейс - почему я выбрал perl? - введение в perl |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |