2010-07-16 2 views
0

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

Вы, ребята, знаете какие-либо хорошие способы аутентификации только одной подстраницы или двух?

+1

Что вы подразумеваете под "authenticate"? – PaulJWilliams

+2

Что означает * аутентификация домашней страницы *? – bakkal

+0

blarh - просто diarreah, выходящий из моего рта. Что я имел в виду, это защита, я просто подумал об аутентификации и случайно написал это ... 2 места.? :) – Latze

ответ

8

Нет, нет абсолютно никакой возможности аутентифицировать пользователя с использованием чистого JavaScript.

JavaScript выполнен на стороне клиента и, таким образом, полностью и легко манипулируется.

Аутентификация всегда должна выполняться на стороне сервера. JavaScript может использоваться для отправки учетных данных на сервер, но никогда не проверять эти учетные данные.

0

До тех пор, пока окончательное решение о том, будет ли пользователь получать какой-либо контент на клиенте, будет довольно легко взломать.

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

0

Невозможно. Любые данные, отправленные клиенту в несанкционированном сеансе, должны считаться общедоступными. Любые конфиденциальные данные (например, пароли), отправленные клиенту в несанкционированном сеансе, должны считаться скомпрометированными. Любые данные, полученные от клиента, должны считаться ненадежными.

Сервер может доверять только серверу.

Конечно, вы могли бы написать свой код на стороне сервера в JavaScript с использованием nodeJS

0

Это, конечно, возможно: Вы можете зашифровать веб-страницы и использовать JavaScript для его расшифровки. Однако это редко имеет смысл сделать это.

1

О, да, есть безопасное решение. Это называется «метод вызова/ответа». Вот как это работает:

  • сервера отправить клиент вызов (некоторые случайные строки)
  • клиента прикрепляется к полученной chalenge пароля (от ввода данных пользователя) и сделать хэш этой комбинации
  • сервера сделать то же самое (вызов + пароль из БД) и проверить равенство
    • , если все в порядке, сервер логины на сайт

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

Смежные вопросы