Intereting Posts

Кодирование 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, тогда вам придется декодировать, потом менять и кодировать снова 🙂 🙂 счастливое кодирование