Является ли отправка незашифрованных паролей хорошей практикой? - PullRequest
4 голосов
/ 11 июня 2011

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

Редактировать: http://pastebin.com/nYcazcZq

Ответы [ 5 ]

2 голосов
/ 11 июня 2011

Если ваш веб-сайт предназначен только для тестирования или использования в интрасети, это не такая уж большая проблема.

Если нет, Я настоятельно рекомендую вам использовать SSL.

Если вы не можете позволить себе сертификат, по крайней мере, предоставьте своим пользователям возможность:

  • войти в систему с OpenID (так как большинство поставщиков OpenID предлагают SSL для аутентификации);
  • войти в систему с помощью дайджест-аутентификации (которая не отправляет пароли в открытом виде по сети).
2 голосов
/ 11 июня 2011

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

Этот ответ более подробно описывает отправку паролей по SSL: Отправка паролей через Интернет

Вы можете использовать крипт PHP для хеширования: http://php.net/manual/en/function.crypt.php

1 голос
/ 11 июня 2011

Имейте в виду, что даже когда ваша служба не имеет какой-либо ценной полезной нагрузки, гарантируется, что многие из ваших пользователей будут использовать с ней тот же пароль, что и с чем-то более ценным, что означает нарушение илилегко перехваченный пароль на вашем конце способен нанести вред.Даже если это плохая практика со стороны пользователя, это неизбежный факт из жизни, поэтому на самом деле нет никаких обстоятельств, при которых он несет ответственность за учет учетных данных пользователя в общедоступной службе.Пожалуйста, используйте SSL / https или OpenID (или другую внешнюю схему управления входом, даже Facebook: как использовать facebook для входа пользователя на мой сайт? ), и если вы являетесь владельцем пароля, пожалуйста, несохранить их в БД в виде открытого текста.

0 голосов
/ 11 июня 2011

никогда не отправляйте сырые критические данные в сеть, я думаю, что использование ssl - лучшее решение, также вы можете использовать javascript encryptor для шифрования пароля на стороне клиента и дешифрования на сервере,

0 голосов
/ 11 июня 2011

Никогда не стоит отправлять незашифрованный пароль. Для серьезного веб-сайта вы должны зашифровать трафик между браузером и сервером, используя https. Вы делаете это, покупая сертификат, который вы устанавливаете на веб-сервере.

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