우리 모두 알다시피, XSS 공격은 위험 하고 실제로 해내 기 쉽습니다 . ASP.NET MVC처럼 다양한 프레임 워크를 통해 HTML을 쉽게 인코딩 할 수 있습니다.
<%= Html.Encode("string"); %>
그러나 고객이 Microsoft Word 문서에서 직접 컨텐츠를 업로드 할 수 있어야하는 경우 어떻게됩니까?
시나리오는 다음과 같습니다. 사람들은 Microsoft Word의 컨텐츠를 WYSIWYG 편집기 (이 경우 tinyMCE ) 로 복사하여 붙여 넣을 수 있으며 해당 정보는 웹 페이지에 게시됩니다.
이 웹 사이트는 공개적이지만 해당 조직의 구성원 만 웹 페이지에 정보를 게시 할 수 있습니다.
이러한 요구 사항을 안전하게 처리하려면 어떻게해야합니까? 현재 '신뢰할 수있는'사용자 만 게시 할 수 있기 때문에 고객이 게시 한 내용에 대한 검사는 수행되지 않지만 계정에 해킹당하는 경우에는 특히 마음에 들지 않으며 추가로 잠그고 싶습니다.
내가 아는 유일한 개념적 방법은 이러한 요구 사항을 충족시키는 HTML 태그 를 화이트리스트에 추가하여 통과시키는 것 입니다. 다른 방법이 있습니까? 그렇지 않은 경우 사용자가 데이터베이스에 입력을 임의의 형식으로 저장할 수 있지만 올바르게 인코딩되어 잘못된 태그가 제거 된 것만 표시하는 안전한 방법은 무엇입니까?