/ / Використання перевірки запитів на ajax? - c #, asp.net, xss

Використання перевірки запитів на ajax? - c #, asp.net, xss

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

Механізм оновлення опису користувача через ajax. З JavaScript я відправляю запит у файл ajax.ashx, який викликає функцію в ajaxMethods.cs. У функції я оновлю SQL Server з новим описом користувача.

Як я можу перевірити вхід у функції перед тим, як опис буде подано на сервер? Я хочу взяти що-небудь з сценаріїв, але залишити звичайні теги HTML, як-от <p>. Чи існують інструменти, які допоможуть вирішити цю проблему?

Відповіді:

1 для відповіді № 1

Чому б не дозволяти користувачам використовувати власний формат / мову (наприклад Знижка), а потім розібрати цю сторону сервера в HTML? Таким чином, ви знаєте, що будь-який скрипт / HTML-код, який ви знаходите в рамках фактичного запиту, недійсний, і його можна позбавити (або кодувати). Це також дає вам перевагу, дозволяючи лише заздалегідь визначений список тегів. Це, в основному, дасть вам ту саму функціональність, що і в StackOverflow.


0 для відповіді № 2

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

XSS (Cross Site Scripting) Чит лист