Как передать пароль при регистрации (PHP & SQL) - PullRequest
1 голос
/ 25 мая 2011

Я знаю, что стандартный ответ для любого, кто пытается внедрить аутентификацию пользователя, - это использовать готовую и протестированную библиотеку, но я всегда любил изобретать велосипед.

Я создал аутентификацию пользователя и сеансСистема данных в PHP, используя технику вызов-ответ для входа в систему.Для всех личных страниц в начале требуется функция, которая проверяет проверку сеанса на время ожидания сеанса, ip, браузер и 256-битный ключ токена.После проверки сеанса он сбрасывает тайм-аут и генерирует новый ключ токена.

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

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

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

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

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Есть ли простой способ как-то зашифровать его на стороне клиента и расшифровать на стороне сервера?

Как насчет использования HTTPS?

1 голос
/ 25 мая 2011

Существует действительно один правильный ответ: Используйте HTTPS. SSL через HTTP - единственное решение, которое полностью сделает это безопасным.

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

...