2013-03-04 20 views
7

Użytkownik może wprowadzić kod HTML, który będzie później wyświetlany innym użytkownikom. Wtyczka WYSIWYG, której używam, oczyszcza HTML z interfejsu. Usuwa wszystkie potencjalnie szkodliwe znaczniki (skrypt, src, wszystko zaczynające się od "na" itd.) Oczywiście muszę również dokonać pewnych weryfikacji w zapleczu.Czy istnieje dobre rozwiązanie dla sanitizer C# html?

Czy ktoś wie o dobrym rozwiązaniu dla C#? Wciąż widzę to http://roberto.open-lab.com/2010/03/04/a-html-sanitizer-for-c/, choć trochę się waham, aby użyć jakiegoś kodu z przypadkowego bloga. Czy są jakieś dobrze znane wtyczki? Co większość ludzi robi w tej sytuacji?

+0

Jakie sanityzacji szukasz? Usunąć * wszystkie * znaczniki html lub tylko niektóre z nich? –

+4

możliwy duplikat [Jak używać C# do dezynfekcji danych wejściowych na stronie html?] (Http://stackoverflow.com/questions/188870/how-to-use-c-sharp-to-sanitize-input-on-an -html-page) – jrummell

+0

Tylko niektóre. Prawie wszystko, co można by wykorzystać złośliwie. – user1652427

Odpowiedz

6

Możesz użyć HtmlAgilityPack, która jest dobrze utrzymaną biblioteką dla wszystkich rzeczy związanych z tagami HTML. Najlepszą praktyką byłoby zaimplementowanie białej listy, która jest listą dozwolonych znaczników. To pytanie może być tak dokładnie to, czego potrzebujesz:

HTML Agility Pack strip tags NOT IN whitelist

Powiązane problemy