Создание DOM-элементов на лету - проверьте, не вредны ли данные - PullRequest
0 голосов
/ 27 апреля 2010

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

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

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

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

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

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

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

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

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

Roland Брюссель, Бельгия

1 Ответ

0 голосов
/ 27 апреля 2010

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

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

...