Является ли внедрение контролируемого HTML через AJAX проблемой безопасности? - PullRequest
4 голосов
/ 27 июня 2010

У меня есть конкретный случай, в котором я хотел бы получить совет по безопасности.По сути, мой вопрос: «Если я контролирую, что находится в базе данных (данные не отправлены пользователем), есть ли проблема безопасности при возврате результатов запроса к базе данных в HTML (через AJAX)»?

Вот процессчто происходит:

  1. ежедневная сборка генерирует документ XML
  2. Мой сервер получает этот документ XML, анализирует его (с помощью PHP) и вводит его в базу данных.
  3. Пользователь заходит на сайт, отправляется запрос AJAX (параметры включают количество возвращаемых результатов, порядок сортировки и, если необходимо, условие поиска)
  4. PHP-скрипт запрашивает базу данных, возвращая результаты обратному вызову AJAX
  5. Обратный вызов AJAX вводит результат на страницу для просмотра

Довольно стандартные вещи ...

Еще немного предыстории: я использую подготовленные операторы SQL, поэтому это ограничиваетпользовательский поисковый запрос и любое вмешательство в URL для создания произвольного запроса.Файл XML только буквенно-цифровой, без кода.Причина, по которой я хочу вернуть HTML, заключается в том, чтобы максимально ограничить работу на стороне клиента. В HTML нет необходимости суетиться с JS для генерации страницы (кроме использования jQuery для вставки блока html).

Любые предложения для меня?

Заранее спасибо.

PS - это все еще в стадии планирования, поэтому нет реального кода для показа.

Ответы [ 3 ]

6 голосов
/ 27 июня 2010

Пока вы контролируете ввод 100%, риск инъекций или XSS-атак очень мал. Любые атаки, которые могут иметь место, такие как замена части или вставка в ответ по проводной связи, могут произойти независимо от того, какие меры безопасности вы применили.

Просто держите базу данных в безопасности.

3 голосов
/ 27 июня 2010

Похоже, вы делаете довольно стандартные вещи. Многие люди будут использовать AJAH (HTML вместо XML или JSON) по тем же причинам, которые вы упомянули.

1 голос
/ 27 июня 2010

Возможное место для XSS, если вы отображаете условия поиска в ответе ajax.

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