2012-05-10 3 views
1

현재 사용자가 자신의 프로필에 대한 풍부한 설명을 입력 할 수 있도록 django-ckeditor을 사용하고 있습니다.django-ckeditor를 사용하여 django의 악의적 인 j를 피하십시오

그러나 XSS 및 기타 코드 삽입을 시도 할 악의적 인 사용자에게 문이 열립니다.

이 문제를 해결하는 가장 좋은 방법이 궁금합니다.

내가 Python HTML sanitizer/scrubber/filter 보았다하지만 이러한 솔루션은 "스타일 ="완전히 가지고 ckeditor의 사용을 부정하는 등의 속성을 제거 것으로 보인다 예를 들어, 이러한 특성에 컬러 텍스트 또는 다른 물건을 의존하는 .

ckeditor 대신 다른 도구를 사용해야합니까? 또는 무엇을 할 수 있습니까?

내 주요 목표는 사용자가 자신의 "프로필"당신은 결정하고 게시 할 수 있는지의 "화이트리스트"를 작성해야

답변

1

에 등 사진, 컬러 텍스트를 표시 할 수 있도록하는 것입니다. 그런 다음 게시 된 데이터를 철저히 구문 분석하고 해당 허용 목록에없는 항목을 모두 정리합니다. 그것이 어떤 스타일 - 스타일 속성을 분석하고 허용 된 것을 제외한 모든 것을 제거합니다.

예를 들어 오래된 BeautifulSoup로 할 수 있습니다.

확실히 <script> 태그 또는 onSOMETHING 처리기를 허용하지 마십시오. 일반적으로 이득보다 고통을줍니다.

관련 문제