2013-11-19 2 views
0

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

Например, говорят, что вызов AJAX принимает содержимое входного файла <input type="hidden" id="example" value="very important information" /> и отправляет его. Теперь посетитель знает, что это то, что использует ajax, поэтому они могут редактировать контент (например, Firebug), прежде чем инициировать вызов ajax.

Есть ли способ/хорошая практика для устранения таких проблем?

ответ

2

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

Содержимое AJAX-вызовов не скрыто от пользователя. Если ваше приложение может быть использовано пользователем, выполняющим вызовы AJAX, это небезопасно! Ваше приложение должно выполнять все соответствующие проверки доступа на стороне сервера для каждого вызова, точно так же, как он выполняет аналогичные проверки запросов на основе URL-адреса.

0

На самом деле нет необходимости редактировать содержимое, вы можете просто запустить вызов Ajax в консоли для чего угодно или отправить любой запрос.

Это сценарий на стороне сервера, обеспечивающий защиту безопасности, а не Javascript. Нет «исправления», когда-либо.

0

Хорошая идея - НИКОГДА НЕ ТРЕБУЕТ, что отправляет пользователь. Хорошо закодированное приложение будет иметь гарантии от любых недопустимых данных. Не имеет значения, используете ли вы AJAX или простую запись формы - пользователь все равно может узнать, что этот браузер отправляет на сервер. Итак - лучшая практика - использовать серверные логики для проверки данных и защиты от таких ситуаций.

1

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

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