HTML кодирование с ASP.NET - PullRequest
       10

HTML кодирование с ASP.NET

1 голос
/ 07 июня 2010

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

Ответы [ 3 ]

5 голосов
/ 07 июня 2010

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

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

<!-- ASP.NET 3.5 and below -->
<%= Html.Encode(yourStuff) %>

<!-- ASP.NET 4 -->
<%: yourStuff %>
4 голосов
/ 07 июня 2010

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

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

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

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

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

0 голосов
/ 18 апреля 2013

вы можете сохранить ввод с помощью кодировать , а во время обновления декодировать его затем обновить и снова сохранить с помощью кодировать и во время показа ничего делать не нужно ... это даст одно преимущество .. не нужно кодировать снова и снова во время шоу ... но проблема может быть в том, что вы хотите изменить на rowdatabound , тогда вам придется декодировать, затем изменить и снова кодировать :) :) happy coding

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