super()
позволяет Вам постараться не относиться к базовому классу явно, который может быть хорошим. Но основное преимущество идет со множественным наследованием, где все виды забавный материал могут произойти. Посмотрите стандартные документы о супер , если Вы уже не имеете.
Примечание, что синтаксис, измененный в Python 3.0 : можно просто сказать super().__init__()
вместо super(ChildB, self).__init__()
, какой IMO вполне немного более хорош. Стандартные документы также относятся к руководство по использованию супер () , который является довольно объяснительным.
Что ж, если вы хотите выполнить синтаксический анализ и беспокоитесь о появлении недопустимого (x) HTML, тогда HTML Agility Pack , вероятно, лучше всего использовать для синтаксического анализа. . Помните, что это не только элементы, но и атрибуты разрешенных элементов, которые вам нужно разрешить (конечно, вы должны работать с разрешенным белым списком элементов и их атрибутов, а не пытаться удалить вещи, которые могут быть изворотливыми с помощью черного списка)
Также существует OWASP AntiSamy Project , работа над которым продолжается - у них также есть тестовый сайт , вы можете попробовать XSS
Regex, поскольку это, вероятно, слишком рискованно для ИМО.
У меня была точно такая же проблема несколько лет назад, когда я использовал TinyMCE.
Похоже, что до сих пор нет достойных решений из белого списка XSS / HTML для .Net, поэтому я загрузил решение, которое я создал и использую уже несколько лет.
http: // www. codeproject.com/KB/aspnet/html-white-listing.aspx
Определение белого списка основано на действительных элементах TinyMCE.
Возьмите второй: Оглядываясь вокруг, Microsoft недавно выпустила Anti-XSS Library (V3.0) на основе белого списка, проверьте это:
Сайт Microsoft Anti-Cross Библиотека сценариев V3.0 (Anti-XSS V3.0) это библиотека кодирования, предназначенная для помочь разработчикам защитить свои ASP.NET веб-приложения от XSS атаки. Он отличается от большинства кодировок библиотеки в том, что он использует техника белого списка - иногда называется принципом включения - для защиты против XSS-атак. Этот подход работает, сначала определяя действительный или допустимый набор символов, и кодирует что-либо за пределами этого набора (недопустимые символы или потенциальные атаки). Белый список дает несколько преимуществ перед другими схемы кодирования. Новые возможности в этом версия Microsoft Anti-Cross Библиотека сценариев сайта включает в себя: расширенный белый список, который поддерживает больше языки - Улучшения производительности - Паспорта производительности (в онлайн help) - Поддержка кодировки Shift_JIS для мобильных браузеров - образец приложение - Security Runtime Engine (SRE) HTTP-модуль
У Microsoft есть библиотека с открытым исходным кодом для защиты от XSS: AntiXSS .