2017-10-09 4 views
0

나는 내가 사용 innerHTML을 바인딩 데이터를 살균 할 수있는 완벽하게 알고 :아우렐 리아 : 제대로 살균 innerHTML을 바인딩 데이터

<div innerhtml.bind="someData | sanitizeHTML"></div> 

는하지만, 내 관찰에 따라,이 살균은 <script> 태그를 제거합니다.

"Hi! I am some HTML-formatted data from the server! <button onclick="getRekt();">Click me for butterflies!</button>" 

이 요소에 렌더링되는 자바 스크립트 또는 이벤트 콜백의 모든 유형을 방지하기 위해 더 나은 방법이 있나요 : 그것은 같은 이벤트 중심의 콘텐츠에서 사용자를 보호하지 않습니다?

답변

1

sanatizeHTML 값 변환기는 매우 간단한 살균 장치이며 스크립트 태그 만 제거합니다. 코드 here을 참조하십시오.

더 복잡한 santizer로 값 변환기를 직접 만들 수 있습니다. 브라우저에서 html을 삭제하는 방법에 대한 자세한 내용은 this answer을 확인하십시오.

하지만 브라우저를 신뢰하지 않는 것을 잊지 마세요. 브라우저에 보내기 전에 서버 측의 HTML을 위생적으로 처리하는 것이 좋습니다.

+0

올바른 방향으로 나를 가리켜 주셔서 감사합니다! 서버는 실제로 위생 처리를 수행합니다. 단지 바보 같은 보안을 위해 클라이언트 측 살균제를 원했습니다. –

관련 문제