필자는 레일 애플리케이션에 사용하려는 "네임 스페이스"사용자 정의 태그 (반경 젬으로 개발 됨)가 있습니다. xss- 공격을 막기 위해 sanitize gem을 사용하고 싶습니다만, 네임 스페이스를 어떻게 설정하는지에 대한 설명은 없습니다. 가능한 방법이 있습니까?sanitize 및 네임 스페이스
0
A
답변
1
sanitize gem은 네임 스페이스를 지원하지 않습니다. 간략하게 sanitize 코드를 살펴보면, 엘리먼트를 지우는 transform 클래스 나 html을 실제로 파싱하는 방식 모두 Nokogiri (XML 파서의 기본이되는 sanitize)는 네임 스페이스를 인식하고 처리하는 데 필요한 정보를 제공하지 않으므로, 이것을 지원하면 가능하지 않을 것입니다.
접두사가 붙은 네임 스페이스가없는 태그가 sanitize에 표시 될 수 있으므로 다른 태그와 충돌하지 않는 맞춤 이름이있는 경우 해당 이름을 지정할 수 있지만 현재 상태는 그대로 유지됩니다. 작성하면 네임 스페이스 관련 태그를 필터링 할 수 없습니다.
0
내가 아는 한 sanitize gem은 자바 스크립트와 HTML을 컨트롤러의 params에서 필터링합니다. 아마 내가 마지막으로 본 이후 확장되었습니다.
아니요, 대부분의 보석을 네임 스페이스로 지정할 수 없습니다. 원숭이 패치가있는 래퍼를 넣을 수있는 몇 가지 해킹이 있습니다. 필요한 경우 Google "ruby namespace collision"을 사용하면 다음과 같은 결과를 얻을 수 있습니다. How to resolve Rails model namespace collision
관련 문제
- 1. F # 및 네임 스페이스
- 2. XSL 및 네임 스페이스
- 3. 네임 스페이스 및 클래스
- 4. 자동로드 및 네임 스페이스
- 5. 네임 스페이스
- 6. XSLT 함수 및 네임 스페이스
- 7. XSLT 및 네임 스페이스 문제
- 8. VBScript를, MSXML 및 네임 스페이스
- 9. Qt 번역본 및 네임 스페이스
- 10. xml 및 네임 스페이스 예외
- 11. 네임 스페이스 및 사용 키워드
- 12. C++ 네임 스페이스 및 템플릿
- 13. 참조 및 클래스 네임 스페이스
- 14. 네임 스페이스 Orginization 및 규칙
- 15. 다중 정의 및 네임 스페이스
- 16. MVC보기 및 System.Speech.Synthesis 네임 스페이스
- 17. 명명 규칙 및 네임 스페이스
- 18. Zend_Soap_AutoDiscover 및 PHP 네임 스페이스
- 19. PHP 네임 스페이스 및 필요성
- 20. 네임 스페이스
- 21. 네임 스페이스 ++
- 22. 네임 스페이스
- 23. jQuery 및 플러그인 네임 스페이스 및 상속
- 24. 파이썬 : 주요 네임 스페이스
- 25. [DataContract]의 네임 스페이스
- 26. System.ComponentModel 네임 스페이스 사용
- 27. ElementTree 네임 스페이스 불편하다
- 28. XJC 생성 네임 스페이스
- 29. 네임 스페이스 사용법
- 30. MVC 네임 스페이스 조직
나는 당신이 나를 이해하지 않는다고 생각한다. Reit - sanitize는 레일스 애플리케이션에서 (뷰에서 컨트롤러로) 입력 텍스트를 필터링하는 데 사용하지만, 불행히도와 같은 커스텀 태그로 작업하는 방법은 없습니다. –