Защита веб-приложений на основе AJAX - PullRequest
3 голосов
/ 10 июля 2011

Я создаю веб-приложение на основе AJAX.

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

Я думал об использованииFacebook API и разрешает только запросам, имеющим учетную запись Facebook, входить в мой сайт.

Есть ли другие советы по этому вопросу?Существуют ли какие-либо источники или руководства по технике защиты для веб-приложений на основе ajax?

1 Ответ

2 голосов
/ 10 июля 2011

Однажды я прочитал очень правдивое утверждение, которое звучало примерно так: «Безопасность AJAX - это не колдовство - в принципе применяются те же методы, которые применяются и к« обычным »веб-приложениям. Есть только одна большая загвоздка: большинство людей забывают, чтолюбой может ввести URL-адреса, которые вы используете для своего драгоценного интерфейса AJAX, в адресную строку браузера ".Суть этого утверждения лучше всего объяснить на примере.

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

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

Хорошая идея - использовать TLS / SSL как для самой страницы, так и для всех вызовов AJAX, исходящих с нее.Затем вам потребуется некоторая форма аутентификации, либо без сохранения состояния (отправляйте учетные данные каждый раз - но для этого потребуется внутренний сервер, чтобы проверять их каждый раз), либо с сохранением состояния путем создания токена сеанса. OWASP содержит много справочной информации по этой и другим темам.

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