얼마 전에 <img ...>
태그 또는 배경 스타일의 href 매개 변수에 문자열을 전달할 수 없다는 것을 깨달았습니다. SafeUrl
및 SafeStyle
인스턴스 만 허용됩니다. 솔직하게, 간단한 호출을 사용하여 이미지 URL이나 스타일을 위생 할 수 있기 때문에 전체 개념을 얻지 못합니다. View 레이어에 신뢰할 수있는 백엔드 API에서 안전한 이미지 href를 마샬링하기위한 보안 파이프 라인을 만들 수 있다면 합리적 일 수 있습니다. Buf @angular/platform-browser
API를 서비스에 삽입 할 수 없으므로 소스 신뢰도를 구별하는 데 도움이되는 컨텍스트가없는 컨트롤의 URL을 삭제해야합니다. 어쩌면 내가 뭔가를 놓친거야?SafeUrl/SafeStyle의 개념을 이해하지 못합니다.
3
A
답변
3
위생이란 내용을 안전하다고 생각하도록 Angular에게 명시 적으로 말합니다. Angular는 책임을지는 Angular의 마커 일뿐입니다. 안전하지 않은 콘텐츠에 대해서는 Angular가 콘텐츠를 확인할 필요가 없습니다. 콘텐츠의 출처와 해로운 콘텐츠를 포함 할 수없는 콘텐츠를 "sanitize"하는 콘텐츠 만 제공합니다. 당신이 표기 [innerHTML]="sanitizedConent
바인딩 속성을 사용하여 바인딩해야하는 이유 innerHTML="{{sanitizedContent}}"
sanitizedContent
이도 캐릭터 라인 도착과 (toString
호출) 및 마커 과정에서 분실 때문에
이
도있다.관련 문제
- 1. 루비 연산자의 개념을 이해하지 못합니다. '<'와 'xyz'방법의 차이점은 무엇입니까?
- 2. mootools 해시를 이해하지 못합니다.
- 3. 메모리 분석을 이해하지 못합니다
- 4. SERQL 쿼리를 이해하지 못합니다.
- 5. 메인 클래스를 이해하지 못합니다.
- 6. 부울() 함수를 이해하지 못합니다.
- 7. 하위 선택기를 이해하지 못합니다.
- 8. NullPointerException하지만 이유를 이해하지 못합니다
- 9. Java에서 Character.digit을 이해하지 못합니다.
- 10. Java : 'while'조건을 이해하지 못합니다.
- 11. 내보기의 생성자를 이해하지 못합니다.
- 12. JComboBox itemListeners를 이해하지 못합니다
- 13. 글타래 Xcode를 이해하지 못합니다
- 14. localStorage 메서드를 이해하지 못합니다.
- 15. 포인터를 이해하지 못합니다.
- 16. 포킹을 이해하지 못합니다
- 17. 이 예외를 이해하지 못합니다
- 18. 이 문장을 이해하지 못합니다.
- 19. while 루프를 이해하지 못합니다.
- 20. 나는 높은 기억의 개념을 이해하지 못하고 싶다.
- 21. V2DIP FTDI 보드의 키보드 값을 이해하지 못합니다.
- 22. MVC 패턴 하나의 문장을 이해하지 못합니다
- 23. 메모리 어드레싱에서 뭔가를 이해하지 못합니다.
- 24. 이 메서드는 오류를 이해하지 못합니다.
- 25. 이 레일스를 이해하지 못합니다. SyntaxError
- 26. spymemcached의 예제 코드를 이해하지 못합니다.
- 27. ASP.NET에서보기가 작동하는 방식을 이해하지 못합니다.
- 28. 미디어 쿼리를 완전히 이해하지 못합니다.
- 29. Pandas.Series.from_csv()의 출력을 이해하지 못합니다.
- 30. Java가이 코드의 논리를 이해하지 못합니다.
내 API에서 href를 얻는다면지도 조각을 반환하는 서블릿을 가리키며 물론 지금은 위생 처리 할 수 있습니다. 하지만 DomSanitizer를 주입 할 수없는 앱 전반의 서비스에서 이러한 HREF를 가져옵니다. 그것은 모두 하류에 섞여 있으므로 선택의 여지가 없지만 모든 것을 살균합니다. 심지어 불투명 한 픽셀을 반환하는 악성 추적자 스크립트에 대한 참조 일 수도 있습니다. –
왜 앱 전체 서비스에 DomSanitizer를 삽입 할 수 없습니까? –
@ angular/platform-browser를 서비스에서 사용해서는 안되는 곳을 읽었습니다. –