Można użyć Server.HtmlEncode (co przekłada się na HttpServerUtility.HtmlEncode
), ale Microsoft ma lepszą bibliotekę Web Protection nazwie AntiXSS, które można pobrać z CodePlex. Zawiera narzędzie, które używa podejścia z białą listą do HtmlEncoding
(dużo bezpieczniej i lepiej, i recommended by OWASP, chociaż wskazują one na older version). Posiada również narzędzia, które pozwalają uzyskać bezpieczne fragmenty HTML itp.
Jeśli jednak spojrzysz na nic innego, spójrz na numer OWASP top 10. Wygląda na to, że po prostu zarysowujesz powierzchnię bezpieczeństwa aplikacji internetowych i jest to najlepsze źródło informacji. Ataki typu Cross-Site Scripting to tylko jedna z wielu rzeczy, których musisz się bronić.
Jest to także jeden trzeba będzie odpowiadać, jeśli masz do czynienia z jakimkolwiek zgodności (PCI, Czerwona flaga, etc)
Przykro mi, ale filtrowanie wejściowe anty-XSS naprawdę nie jest substytutem zwykłego tekstu kodującego HTML na etapie wyjściowym do HTML. Wszystkie narzędzia anty-XSS są kruche, poprawne i niekompletne: w najlepszym wypadku tynk samoprzylepny dla źle napisanych aplikacji z problemami uciekającymi HTML, a nie lekarstwo, które faktycznie rozwiązuje problem. – bobince
Prosimy o komentarz, jeśli nie chcesz, abym mógł nauczyć się z moich błędów ... – David
(Przepraszamy za wersję -ve, ale jest to poważny problem z naiwnymi autorami webappów, że trzymają razem różne formy danych wyjściowych z ciągów tekstowych bez Do wykonania określonego zadania wymagane jest wychwytywanie kodu HTML, kodowanie JSON, kodowanie URL lub jakikolwiek inny rodzaj kodowania kontekstowego, a następnie oczekują, że warstwa anty-XSS filtrująca dane wejściowe jakoś to wszystko naprawi. więcej niż szczotkowanie problemów pod dywan.) – bobince