2013-08-19 2 views
0

Я пробую несколько идей, и я ударил.Улучшение безопасности с помощью JS

В настоящий момент, когда пользователь входит в систему, их пароль хранится в переменной, которая обрабатывается позже. Очевидно, что все, что нужно сделать, чтобы получить пароль, - это войти в инструменты разработчика или консоль или что-то еще, и добавить заявление вроде alert(pass.value);.

Я знаю, что это нереально, но его прослушивали. Есть ли способ обнаружить оповещение и скремблировать пароль? Регулярное выражение или строка заменяются?

Спасибо!

+1

Нет javascript совершенно небезопасен, так как он выполняется на клиенте. Значит, клиент может даже удалить код, который предотвращает оповещения и т. Д. Вы должны перенести все свои вещи безопасности на серверный сайт - почему вам нужно иметь пароль в переменной javascript? – tobspr

+4

Поверьте мне, это ОЧЕНЬ реалистично! Это опасный подход, и лучшим решением является не хранить эту информацию в клиенте, а создавать одноразовый токен при успешной аутентификации. –

+0

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

ответ

6

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

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

+0

Спасибо, что очень полезно! :-) верно подмечено! –

0

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

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