잠시 동안 MS's AntiXSS library을 사용해 왔습니다. 최근에 내 사이트의 텍스트 영역을 일반 텍스트 영역 (WYSIWYG로 사용됨)으로 변경하고 줄 바꿈을 br에 대한 변환을 실행하기로 결정했습니다.C#에서, br를 포함하여 HTML 입력을 허용하면서 XSS를 방지하는 방법은 무엇입니까?
문제는 MS의 AntiXSS 라이브러리가이 문제를 지원하지 않는다는 것입니다. 나는 사용자의 항목을 내 DB에 직접 체크하지 않도록하고 싶지 않다. MS AntiXSS 라이브러리를 사용하지 않고, C#에서 br를 포함한 HTML 입력을 허용하면서 XSS를 방지하는 신뢰할 수있는 방법은 무엇입니까?
텍스트를 Html로 인코딩 한 다음 새 줄을
으로 바꾸고 데이터베이스에 저장하십시오. 이 필드에서 XSS 검사를 비활성화하십시오. Html로 인코딩 했으니 까. (만약 당신이 어디에서, 내가 그것을 저장하고 렌더링하는 동안 인코딩) – Guillaume
Guillaume 생각을 주셔서 감사 ... 내가 ASP.NET MVC 3 (면도칼)을 사용하고 있지만 그것을 다시 디코딩하는 방법을 알아낼 수는 없지만 보기에서 HTML로. 인코딩되지 않은 상태로 저장하면 기본적으로 해커 코드가 저장됩니다. HTML을 렌더링하고 싶지만 안전합니다. 희망찬 생각? :) – Chaddeus