Отключение кук (cookie)

логин и пароль

Когда автор встречает у кого-нибудь мнение, что отключение cookie в браузере увеличивает безопасность, его не покидает чувство, что наличествует какой-то мировой заговор. Дело в том, что часто cookie используют для хранения идентификатора сессии, который должен передаваться серверу при каждом обращении, чтобы у пользователя не обнулялась корзина, чтобы ему не приходилось вводить логин-пароль после каждого клика по ссылке и т. д. Безопасность обеспечивается тем, что идентификатор обычно довольно длинный и не может быть угадан подбором, т. е. он известен только сайту и нашему компьютеру.

При отключении cookie у посетителя сайт (если он не хочет ограничивать такого посетителя) вынужден дописывать идентификатор сессии к ссылкам и формам на страницах. И адреса страниц приобретают вид навроде ".../forum.php?thread=5&SESSION_ID=abc123...". На первый взгляд ничего страшного в этом нет, но это только на первый взгляд...

Во-первых, при клике на внешнюю ссылку тот сайт, на который произошел переход с нашего, получает в запросе поле "Referer" — адрес страницы, с которого произошел переход. А в этом адресе — идентификатор нашей сессии. И заходящий по этой ссылке на наш сайт попадает в чужую сессию со всеми вытекающими.

Во-вторых, человеку изначально может быть предложена (прислана, найдена в поисковике, выбрана из кэша прокси) ссылка с идентификатором сессии. И если человек перейдет по ссылке и авторизуется (введет логин и пароль), то любой, кто воспользуется этой же ссылкой, сразу окажется авторизованным под чужим логином.

Напрашивающееся решение сохранять в сессии IP-адрес имеет ограничения: некоторые провайдеры могут менять IP-адрес клиентов в течение сессии. Потом, разные компьютеры могут иметь один и тот же IP-адрес, если находятся в одной локальной сети определенного вида. Хотя это и ограничивает круг потенциальных злоумышленников, все равно не очень-то приятно, если нашу почту будет читать коллега или сосед по интернет-кафе.

Основная проблема в том, что секретная информация (идентификатор сессии) доверена несекретному хранилищу (адрес страницы). Cookie, же, напротив, устроены таким образом, что сайт может читать только cookie, выставленные им же самим, и не имеет права читать чужие, это базовая функциональность системы безопасности браузеров.

Поэтому автором предлагается всемерно пропагандировать полезность (и даже необходимость) работающих cookie, в том числе и путем предупреждения пользователей без оных о невозможности пользоваться сайтами, использующих сессии. И, соответственно, игнорировать сессионные идентификаторы, пришедшие из источников, отличных от cookie.


Источник: http://www.captcha.ru

Рекомендуем



Отправка email с сайта Для сокрытия адреса почтового ящика от спамеров часто используются форму обратной связи, информация из которой поступает серверному скрипту, который уже сам отправляет почту адресату по известному только скрипту адресу, к примеру, php-функцией mail


DOS Во-первых, если сайт не оптимизирован, если для каждого посетителя производятся объемные выборки и расчеты, если сайт генерирует страницы секунду или две, даже простого увеличения посетителей вследствие того, что ссылку на сайт опубликовали в каком-то более-менее посещаемом месте, достаточно, чтобы сервер не справится с возросшей нагрузкой


CSRF: совершение действия от имени пользователя Дело тут, правда, такое, что от пользователей можно и требовать обязательного включения передачи Referer, тем более что часто на этом базируется защита от размещения ссылок на ваш контент на чужих сайтах