2013-02-13 4 views
1

일부 콘텐츠를 생성하고 서식을 지정하기 위해 브라우저에서 많은 양의 계산이 수행되는 앱을 작성하고 있습니다. 결과 콘텐츠는 서버 (구조, 링크, 계산 결과 등)에 저장하려는 HTML입니다. 자바 스크립트 나 CSS (스타일 태그)가 없습니다. 생성 된 HTML 저장 및 Rails 3에서 XSS 공격 방지

는 XSS 공격을 방지하면서 나는 모델의 before_save 또는 after_initialize 방법에서 사용할 수있는 레일 방법 또는 플러그인이 내용에서 자바 스크립트/CSS를 제거하고 안전하게 (참고로, JSON을 통해) 브라우저로 다시 보낼 수 있습니다, 주어진 콘텐츠의 간단한 구조?

답변

2

저는 개인적으로 Sanitize 보석을 사용합니다. 이 보석을 사용하면 허용 할 HTML 요소와 속성을 구성 할 수 있으며 보석은 다른 것을 제거합니다.

일부 HTML은 허용하지만 자바 스크립트/CSS를 허용하지 않으려면 전체적인 HTML 구문 분석기를 기반으로하는 새 니타이저가 여러 가지 점을 감안할 때 가장 적합 할 수 있기 때문에 이것은 앱용으로 좋은 선택이라고 생각합니다. 교활하고 자바 스크립트/CSS를 HTML에 삽입하는 것.