Вопрос по – «Запомнить меня на этом компьютере» - как это должно работать?

47

Просматривая файлы cookie Gmail, легко увидеть, что хранится в разделе "запомнить меня". печенье. Имя пользователя / одноразовый токен доступа. Это может быть реализовано по-разному в случаях, когда имя пользователя также является секретным. Но что бы ни ... вещь не очень надежна: ты крадешь печенье и готов к работе.

Однако мой вопрос касается функциональной стороны: когда вы стираете их токены доступа? Если пользователь входит в системуwithout нажмите кнопку "запомнить меня" на другом компьютере, если он лишит законной силы их токены доступа наall machines? Я спрашиваю о том, как это традиционно осуществляется, а также о том, как это должно быть реализовано.

Как это НЕ связано с программированием? Evan
Определенно программирование связано. KingNestor
Я думаю, как установить куки для безопасности важно при программировании любого веб-приложения - кажется вполне разумным Nick Fortescue
C.F.codinghorror.com/blog/archives/001256.html Lucas B
Это не дубликат, это связано с программированием, хотя не обязательно связано с кодом как таковым. Хороший вопрос. Я хотел бы знать хорошие ответы сам! Kuba Ober

Ваш Ответ

6   ответов
0

То, что я хотел бы сделать, это связать каждую сессию с IP-адресом. Если токен сеанса отправляется с другого IP-адреса, чем у вас для этого, отклоните его.

Error: User Rate Limit Exceeded Dan Rosenstark
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededmostError: User Rate Limit Exceeded
0

Токены доступа должны быть привязаны к IP, чтобы их нельзя было легко передавать между компьютерами.

Они также должны быть реализованы таким образом, чтобы пользователи могли видеть, на каких машинах установлены активные токены.

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

Применяемая вами политика действительно зависит от данных, которые вы держите, и потребностей пользователя.

15

Я регулярно использую 2 или 3 машины одновременно, и у меня есть "запомнить меня" на всех из них. Если один из них отключит других, это будет очень раздражать, поэтому я бы не рекомендовал его.

Традиционно используется тайм-аут, срок действия файла cookie истекает через определенный промежуток времени (или когда пользователь выходит из системы).

Все зависит от вашей модели безопасности. Если вы пишете внутреннее приложение компании, в котором вы ожидаете, что только один пользователь будет находиться на одном компьютере, возможно, вы захотите установить более жесткие ограничения, чем gmail.

Кроме того, помните о возможности отказа в обслуживании - если действие на одной машине может привести к невозможности использования другой машины, это может быть использовано для предотвращения возврата правомерного пользователя в определенных сценариях.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Dan Rosenstark
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Dan Rosenstark
Error: User Rate Limit Exceeded
3

Cookie «Помни меня» также должен идентифицировать машину. Это должно быть связано с машиной, потому что есть места, где вы хотите, чтобы вас запомнили, и другие места, где вы не любите (дом против работы).

Срок действия обычно устанавливается на разумный период (две недели) или после того, как пользователь явно вышел из машины,

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Dan Rosenstark
Error: User Rate Limit Exceeded Dan Rosenstark
5

Вход с другого компьютера не должен делать недействительной регистрацию, связанную с файлом cookie, на другом компьютере. Однако если пользователи выходят из системы или & quot; не вы? войдите здесь & quot; это должно очистить куки, с которыми работает пользователь.

Кстати, кража cookie может быть затруднена, если вы настаиваете на https и не делаете это для сценариев.

Добавляя & quot ;; HttpOnly & Quot; на выходе вашего куки это сделает куки недоступными для JavaScript, например

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
Set-Cookie: ASP.NET_SessionId=ig2fac55; path=/; HttpOnly
X-AspNet-Version: 2.0.50727
Set-Cookie: user=t=bfabf0b1c1133a822; path=/; HttpOnly
X-Powered-By: ASP.NET
Date: Tue, 26 Aug 2008 10:51:08 GMT
Content-Length: 2838

Вы можете прочитать больше об этом

Error: User Rate Limit Exceeded Dan Rosenstark
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Dan Rosenstark
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
20

СтатьиПостоянный вход в систему а такжеЛучшая практика улучшенного постоянного входа в систему отличные ссылки о том, как реализовать такую функциональность.

Смотрите также эти вопросы StackOverflow

Error: User Rate Limit Exceeded Dan Rosenstark

Похожие вопросы