Используете проверку запросов для запросов ajax? - PullRequest
2 голосов
/ 27 октября 2011

У пользователей на моем сайте есть страница, на которую они могут написать свой собственный HTML. Я хочу, чтобы это использовалось для таких вещей, как упорядоченные списки, стилизация и т. Д., Но некоторые люди попытаются вставить скрипт, чего я не могу допустить.

Механизм обновления описания пользователя через ajax. Из javascript я отправляю запрос в файл ajax.ashx, который вызывает функцию в ajaxMethods.cs. В функции я обновляю сервер sql новым описанием пользователя.

Как я могу проверить ввод в функции, прежде чем описание будет отправлено на сервер? Я хочу убрать все, что связано со сценариями, но оставлю обычные HTML-теги вроде <p>. Есть ли инструменты, которые справятся со всем этим?

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Почему бы не позволить пользователям использовать вместо этого пользовательский формат / язык (например, Markdown ), а затем проанализировать эту сторону сервера для HTML? Таким образом, вы узнаете, что любой скрипт / html-код, который вы найдете в текущем запросе, недопустим и может быть удален (или закодирован) Это также дает вам преимущество в том, чтобы разрешить только заранее определенный список тегов. В основном это даст вам ту же функциональность, что и StackOverflow.

0 голосов
/ 27 октября 2011

Я рекомендую вам HttpServerUtility.HtmlEncode ваш вывод.Попытка разобрать теги сценария, а не HTML, не очень хороший подход.См. Ссылку ниже:

Шпаргалка XSS (межсайтовый скриптинг)

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