Создание DOM-элементов на лету - проверьте, не вредны ли данные

Я уже разместил вопрос, тесно связанный с этим. Я смотрел видео Mix10 с П. Хаакедом и С. Хансельманом.

Я строю сайт на AJAX, формы ввода которого создаются на лету.

Весь код для этого выполняется внутри тега script или файла javascript. Например, следующие элементы DOM создаются при загрузке страницы и помещаются в существующий элемент div, определенный в представлении:

$('# MyForm') добавить ('). $('# MyForm') добавить ('');

Когда я нажимаю кнопку отправки, мне нужно получить значения формы ввода с идентификатором 'Name': $("#Name"). Val(), а затем я возвращаю объект Json: { Name: name };

Для такого сценария нет способа использовать Html.Encode() или AntiXss.HtmlEncode() на стороне клиента. Единственный способ проверить, не является ли ввод вредоносным, выполняется на стороне сервера (через уровень обслуживания).

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

Вы думали об этой ситуации, ребята?

Спасибо за внимание, которое вы уделили этому.

Ролан Брюссель, Бельгия

1 ответ

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

Как таковой, зачем беспокоиться о них на стороне клиента, поскольку вам придется повторно выполнять их на стороне сервера? О единственной полезной природе проверки на стороне клиента является предварительное представление пользователя, что он случайно содержит вредоносный код. Это действительно то, что происходит регулярно с вашими пользователями?

Другие вопросы по тегам