Welcome! Log In Create A New Profile

Advanced

Re: ngx_http_userid_module - неточности документации, cookie предсказуем

January 20, 2012 08:40AM
On Fri, Jan 20, 2012 at 03:29:16PM +0200, Volodymyr Kostyrko wrote:
>
> Anton Yuzhaninov wrote:
> > On 01/20/12 16:29, Volodymyr Kostyrko wrote:
> >> <<< HTTP/1.1 200 OK <<< Server: nginx/1.0.11 <<< Date: Fri, 20 Jan
> >> 2012 11:04:19 GMT <<< Content-Type: application/json <<<
> >> Connection: close <<< Set-Cookie: uid=wKgIPE8ZSjOvoyMQAwNlAg==;
> >> expires=Sat, 19-Jan-13 11:04:19 GMT; path=/ <<< P3P:
> >> policyref="/w3c/p3p.xml", CP="NOI CUR ADM PSA OUR STP STA" <<<
> >> offset 0, length -1, size -1, clength -1 Unknown
> >>
> >> Т.е. зная во сколько пользователь подключался к сайту можно
> >> приблизительно угадать какая у него будет создана сессия. Ну и
> >> соответственно в неё вклиниться. Можно вообще мониторить сайт на
> >> предмет авторизированных пользователей.
> >
> > модуль userid создавался совсем не для сессий, и uid использовать как
> > session id плохая идея.
> >
> > В любом случае в этом модуле нет механизма проверки сессий, так что
> > непонятно зачем вообще нужно использовать uid в качестве session id.
>
> Ладно, тут я прогнал насчёт сессий. Но факт в том что куки могут
> свободно повторяться, а это уже совсем не похоже на поведение mod_uid.
> Вот например из доки на mod_uid от апача:
>
> ====
> Почему не mod_usertrack из поставки Apache
>
> Потому что у него есть несколько недостатков:
> нет гарантий, что двум пользователям не будет выдана одинаковая cookie,
> хотя конечно включение getpid(), remote_ip и времени до миллисекунд
> сводит эту вероятность к минимуму
> нет поддержки многосерверной работы - а в этом случае возможность выдачи
> одинаковой cookie возрастает
> в логе хочется иметь возможность видеть и выданную пользователю cookie,
> причем видеть ее отдельно, mod_usertrack их перемешивает.
> Хочется иметь "номер сервиса" (см. выше) - чтобы понимать на какой из
> наших сервисов пользователь зашел при первом своем визите.
> ====
>
> Может лучше добавить в документацию хотя-бы короткое описание поведения
> модуля чтобы его не путали по функционалу с mod_uid. Вроде:
>
> ====
> Модуль ngx_http_userid_module выдаёт сookies для идентификации клиентов.
> Для записи в лог можно использовать переменные $uid_got и $uid_set.
> Модуль совместим с модулем mod_uid для Apache, хотя в отличии от mod_uid
> нет гарантии что двум пользователям не будет выдана одинаковая cookie и
> нет поддержки многосерверной работы - а в этом случае возможность выдачи
> одинаковой cookie возрастает.
> ====

ngx_http_userid_module формирует куку так же, как mod_uid (за исключением
баги c network order в ngx_http_userid_module) плюс к номеру процесса
добавляются младшие биты микросекунд во время старта процесса.


--
Igor Sysoev

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

ngx_http_userid_module - неточности документации, cookie предсказуем

Volodymyr Kostyrko January 20, 2012 07:30AM

Re: ngx_http_userid_module - неточности документации, cookie предсказуем

Anton Yuzhaninov January 20, 2012 07:50AM

Re: ngx_http_userid_module - неточности документации, cookie предсказуем

Volodymyr Kostyrko January 20, 2012 08:34AM

Re: ngx_http_userid_module - неточности документации, cookie предсказуем

Igor Sysoev January 20, 2012 08:40AM

Re: ngx_http_userid_module - неточности документации, cookie предсказуем

Volodymyr Kostyrko January 20, 2012 10:28AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 125
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready