Как мне кодировать пароли в веб-формах без JavaScript? - PullRequest
5 голосов
/ 24 февраля 2010

Конечно, у меня нет доступа к javascript. На большинстве моих курсов по веб-разработке CS мы немного узнали о проверке на стороне сервера, а затем, как только появился javascript, проверка на стороне сервера выбрасывается в окно.

Я предпочитаю не просто полагаться на javascript, так как на стороне клиента никогда не бывает безопасного места. Я привык к написанию как клиентского, так и серверного кода для таких вещей. Однако для веб-приложения, которое я пишу, в котором есть дополнительный AJAX, я не хочу, чтобы пароль отправлялся открытым текстом по сети, если у кого-то отключен JavaScript.

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

Ответы [ 4 ]

5 голосов
/ 24 февраля 2010

SSL Решает эту проблему. Для записи, пароли никогда не должны быть «зашифрованы» или «закодированы», при этом используется метод «Расшифровка» или «Расшифровка», который является явным нарушением, если CWE-257 . Пароли должны быть хешированы, SHA-256 - отличный выбор, но он предназначен не для передачи, а только для хранения. Когда вы передаете секреты, существует длинный список вещей, которые могут пойти не так, как надо, SSL - безусловно лучший выбор для решения этих проблем.

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

3 голосов
/ 24 февраля 2010

Простое решение - SSL.

2 голосов
/ 24 февраля 2010

Я думаю, что вы перепутали пару понятий. Браузер не шифрует отдельные поля. Сценарии на стороне клиента, на стороне сервера и AJAX не являются средствами защиты от прослушивания.

Как уже говорили другие, SSL - это технология, которая шифрует данные. Весь запрос и ответ, включая поля и сценарии, содержатся в сеансе SSL.

0 голосов
/ 24 февраля 2010

Вы также можете использовать Дайджест-аутентификацию HTTP .

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