Intereting Posts
Как преобразовать строку в UTF-8 в Android? Создание HTMLDocument из строки HTML (на Java) Время ввода HTML в формате 24 Регулярное выражение для удаления тегов HTML из строки скобки отображаются неправильно для стиля отображения справа налево Как получить динамический ip в xml-файле? Извлечение classа из атрибута раздела с помощью xsl должен ли символ «->» не использоваться в скрипте php для подключения к базе данных? если он не может быть использован, какова альтернатива? Найти предложение на странице html, отображаемой в браузере, и выделить его css3 перепад высот на абсолютном позиционированном div для автоматического переполнения jQuery и Grails / HTML – Сделать текстовое поле полным текстом, например, Google Как я могу получить выбранные значения CheckBoxList, то, что у меня не работает, C # .NET / VisualWebPart Обслуживание статического html в Google app engine Python Как открыть файл и посмотреть основные моменты HTML в Intellij IDEA? В чем смысл совместимости X-UA?

Кодирование HTML с помощью ASP.NET

Я в настоящее время html кодирую все введенные пользователем текст перед вставкой / обновлением записи таблицы db. Проблема в том, что при любых последующих обновлениях ранее закодированная строка повторно кодируется. Этот бесконечный цикл начинает употреблять много колонок в моих таблицах. Я использую параметризованные запросы для всех операторов sql, но интересно ли было бы безопасно просто позволить платформе .NET Framework обрабатывать эту часть без кодировки HTML?

Вы всегда должны кодировать пользовательские данные HTML при их отображении , а не при хранении . Сохраните ввод пользователя в БД (используя параметризованные запросы или еще что-то, чтобы предотвратить внедрение SQL), а затем кодирование HTML при выводе данных. Таким образом, у вас никогда не будет этой проблемы.

HTML-кодирование встроено в структуру ASP.NET просто. Вот как вы это делаете:

 < %= Html.Encode(yourStuff) %>  < %: yourStuff %> 

Я бы не рекомендовал кодировать данные в базе данных.

Кодировка не имеет ничего общего с данными, но она специально нацелена на то, как вы показываете данные. Что, если вы хотите, чтобы клиентское приложение использовало эти данные в будущем или какой-то другой не-HTML-дисплей?

Вы должны хранить данные как необработанные данные в ваших таблицах, а также приложения или уровень, который сервисы приложений должны обрабатывать кодировкой в ​​любых форматах.

Рамка .NET может легко сделать это за вас. Просто не забудьте использовать HtmlEncode или в ASP.NET 4 < %: Вы должны делать это для ЛЮБЫХ данных, которые вам нужно представить, которые являются динамическими.

Хранение его в закодированной базе данных не только вызовет проблемы сегодня, но и в будущем.

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