Сохранение информации аутентификации, когда "куки не могут быть доверенными - PullRequest
0 голосов
/ 26 апреля 2011

Допустим, это:

  1. Когда пользователь входит в систему, также проверяет «запомнить меня».
  2. Я проверяю и нахожу, что он действителен.
  3. Я сохраняю "true" в переменной сеанса.
  4. Я также сохраняю cookie с «true».
  5. Пользователь закрывает браузер, возвращается позже и открывает сайт.
  6. Я проверяю файл cookie с надписью "true", чтобы автоматически входить в него.

Это правильное описание того, как в целом работает сайт? Или что-то не так с моими шагами?

Мне становится любопытно, потому что я продолжаю читать такие вещи, как -

  • Никогда не доверяйте пользовательскому вводу. Файлы cookie также вводятся пользователем, поэтому никогда не доверяйте им
  • С помощью сниффинга файлы cookie могут быть обнаружены, и кто-то может взломать систему

Если файлы cookie настолько ненадежны для безопасности, как мне сохранить постоянную информацию для входа?


Я работаю над ASP.Net. Я просто экспериментирую с собственной аутентификацией.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

Это в основном зависит от того, какую информацию о пользователе вы храните, какой у него доступ и т. Д. Например, единственная цель - идентифицировать учетную запись, как на общедоступном форуме? Или вы храните личную информацию, такую ​​как адрес, номера телефонов, данные кредитной карты и т. Д.? Если это последнее, вам следует избегать использования файлов cookie для постоянного входа в систему.

Но, в общем, вы не должны просто сохранять какое-то "истинное" значение в куки и проверять это. Что я лично делаю (для сайтов, где безопасность на самом деле не , что большая проблема), так это создание собственной функции, которая берет IP-адрес и запутывает его в строку, используя собственный алгоритм. Затем зашифруйте строку, используя sha1 () (php) или что-то еще. Затем сохраните эту зашифрованную строку в качестве значения cookie.

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

0 голосов
/ 26 апреля 2011

Обычно вы создаете какой-то токен, шифруете его и затем помещаете зашифрованный токен обратно в cookie. Вот как работает аутентификация Asp.Net Forms. Вы также можете подумать о псевдо-логинах. Это было бы, где вы можете сделать некоторые вещи, если у вас есть cookie, но вам придется войти в систему, чтобы сделать что-то более важное. Например, вы можете просмотреть рекомендации по Amazon, но вам нужно будет войти, чтобы заказать что-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...