RSS описание html санации в .NET - PullRequest
       12

RSS описание html санации в .NET

1 голос
/ 23 февраля 2009

Я хочу написать приложение, которое использует RSS. Я хочу, чтобы некоторые элементы в описании элемента RSS-канала отображались в виде HTML, например изображения, ссылки, br и т. Д. Однако я не хочу запускать встроенные сценарии, неуправляемые элементы CSS и т. Д. не хочу заново изобретать колесо. Есть ли у них какие-либо библиотеки, которые выделяют только правильный уровень HTML?

Проблема, с которой я сталкиваюсь, заключается в том, что я генерирую RSS-канал из phpBB, поэтому посты уже имеют теги br и (link). Однако пользователь может вставить тег сценария в сообщение, и он будет правильно закодирован для отображения в виде текста на странице.

Однако, когда я смотрю на сообщение в программе чтения RSS, все html в сообщении кодируются как <и> ... и т. Д. Это стирает различие между тегом br и (меньше) сценария (больше) тега, так как они оба отображаются с & l t; и & g t;

Я чувствую, что это должно быть проще, и я просто упускаю что-то очевидное ... Надеюсь.

Ответы [ 2 ]

0 голосов
/ 24 февраля 2009

Я понял это. Я использовал скрипт RSS, который заставлял угловые скобки в кодировке html «смешиваться» с реальным html в RSS-ленте

Это источник, похожий на phpBB:

<a href="link">link</a>
&lt;script&gt;alert("hack you");&lt;/script&gt;

Но в моем RSS-канале он был сгенерирован следующим образом: (обратите внимание, нет различий между экранированным html и не экранированным html)

&lt;a href="link"&gt;link&lt;/a&gt;
&lt;script&gt;alert("hack you");&lt;/script&gt;

Я внес изменение в файл rss.php, чтобы оно превратилось в следующее:

&lt;a href="link"&gt;link&lt;/a&gt;
&amp;lt;script&amp;gt;alert("hack you");&amp;lt;/script&amp;gt;

Таким образом, он правильно отображался в ленте RSS.

Спасибо!

0 голосов
/ 24 февраля 2009

Ваш вопрос не совсем понятен, но обычно при попытке очистить html для вывода вы хотите разрешить только белый список тегов.

Вот javascript-реализация strip_tags, которую вы можете легко адаптировать к .net

http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_strip_tags/

...