Однажды я прочитал очень правдивое утверждение, которое звучало примерно так: «Безопасность AJAX - это не колдовство - в принципе применяются те же методы, которые применяются и к« обычным »веб-приложениям. Есть только одна большая загвоздка: большинство людей забывают, чтолюбой может ввести URL-адреса, которые вы используете для своего драгоценного интерфейса AJAX, в адресную строку браузера ".Суть этого утверждения лучше всего объяснить на примере.
Допустим, в вашем приложении есть раздел администратора, и это совершенно безопасно.Но сейчас очень распространенная ошибка для разработчиков - предполагать, что сами страницы защищены автоматически, что означает, что вызовы AJAX на этих страницах тоже безопасны.Таким образом, они не хотят защищать их и отправлять вызовы назад и вперед по обычному HTTP, без аутентификации.
Это в большинстве случаев безопасность по неясности, но как только кто-то выяснит интерфейс, он получит хорошее время для доступа к вашим данным, напрямую подключившись к интерфейсу AJAX и просто пропустив меры безопасности из раздела администрирования.Выяснить интерфейс можно, просто угадав его.
Хорошая идея - использовать TLS / SSL как для самой страницы, так и для всех вызовов AJAX, исходящих с нее.Затем вам потребуется некоторая форма аутентификации, либо без сохранения состояния (отправляйте учетные данные каждый раз - но для этого потребуется внутренний сервер, чтобы проверять их каждый раз), либо с сохранением состояния путем создания токена сеанса. OWASP содержит много справочной информации по этой и другим темам.