|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Ilya Rubtsov 2:5020/400 17 May 2001 11:30:15 To : All Subject : Re: session_id -------------------------------------------------------------------------------- > >Блин. Повтоярю еще раз своё предложение -- использовать id сессии -- > >порядковый номер, и код сессии -- рандомную кашу букв/цифр. Считаются юзвери > >по id'ям сессий, а аудентифицируются по коду сессии. > Я с интересом почитаю, как ты планируешь считать номер сессии. Обычный инкремент. Вобщем как сделал я. Сразу говорю, что задание было -- не использовать куки(ну заказчик такой): -юзверь заходит на главную страницу сайта -для него инкрементом делается новый id сессии. Т.е. на серваке есть файлик, в котором записано число. Открываем файл, берем число, увеличиваем на единицу, запоминаем и записываем в файл обратно. -для этого id делается каша-малаша из букв и цифр -- код сессии. Я юзаю кашу длиной 10 символов. Записываем эту пару в файл на сервере(можно СУБД заюзать), указывая время создания сессии. -теперь во всех ссылках магазина присутствует что-то типа ...&session=123&sescode=G1FHL43DF4 . Можно и в куки записать. -при нажатии на ссылку юзверь опять-таки попадает на скрипт, который берет полученный id, ищет в файле/базе нужную запись, и сверяет коды сессий. Если совпадают -- даем что просили, нет -- посылаем на главную страницу, где ему создается легальная сессия, или же говорим, что мол не надо нас хакать(или то, или другое). При удаче обновляем в базе время последнего обращения к сессии. -при каждом создании новой сессии или же по расписанию(смотря какая нагрузка) из бады удаляются все записи о сессиях, обращение к которым было более чем N минут назад. Всё это реализовано на www.martins.ru и www.goldrain.ru . С огромным вниманием жду мысли насчет возможности сломать такую защиту(DoS -- это из другой оперы). --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/657761b81a13.html, оценка из 5, голосов 10
|