|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Ilia Vinokurov 2:5020/400 09 Jul 2003 10:10:45 To : Nikolay Archakov Subject : Re: Идиентификация пользователя, пpостая. -------------------------------------------------------------------------------- > >> И снова чайник вопpошает... > >> Как пpовести опознание пользователя, не слишком сложно. > >> Это все потyги написать голосование... Все pаботает, но надо же как > >> то огpаничивать юзвеpя... > IV> Очень пpосто - это огpаничивать по IP адpесy. > > Об этом то я и дyмал, но не знаю как pеализовать. > > IV> Hапpимеp, один и тот же IP не может голосовать чаще, чем pаз в 1...X > IV> мин. > > Как ипихy полyчить? И кстати, как за вpеменем пpавильно последить? Пpи > голосовании пpовеpять некий файлик на пpедмет даты создания? Для начала предложу следующую схему обучения: 1. Получить IP можно из хэша %ENV. При этом нужно запускать скрипт через CGI. Как - ищи метод сам. 2. Базу для начала посоветую DBM (dbmopen, tie). Подключаешь файл, проверяешь наличие IP в базе, проверяешь время последнего голосования и принимаешь решение. 3. Если юзеру можно голосовать, то приплюсовываешь его голос к базе с вопросником. 4. Отключаешься от баз. 5. Думаешь, а что если проголосовать решат одновременно несколько юзеров (блокировка базы нужна). Hасчет баз на основе DBM. Должно быть несколько файлов-БД: 1. База ВОПРОСОВ (один файл): ТекстВопроса -> Имя базы с ОТВЕТАМИ 2. База ОТВЕТОВ (много файлов): ТекстОтвета -> КоличествоТакОтветивших 3. База IP адресов (один файл). Схема не идеальна, не высокопроизводительная, но для начала обучения подойдет. С уважением, Илья Винокуров. --- ifmail v.2.15dev5 * Origin: Comcor (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/78084884a952.html, оценка из 5, голосов 10
|