Angular 6 доверяет только iframes в innerHtml - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть API, который отвечает HTML.Я не хочу полностью доверять контенту из-за xss.

Но иногда в ответе появляются фреймы Iframes, которым я хочу доверять, основываясь на белом списке.

Я знаю о возможности bypassSecurityTrustHtml(), но я не узнал, как частично доверять Html.

Например: Api response

<p>Some test text<br class='autobr' />\n<strong>some 
more</strong></p>\n<iframe 
src=\"https://player.vimeo.com/video/289729765\" width=\"640\" 
height=\"360\" frameborder=\"0\" webkitallowfullscreen 
mozallowfullscreen allowfullscreen></iframe>\n<p><a 
href=\"https://vimeo.com/289729765\">Mike Hopkins: The 
Backyard</a> from <a 
href=\"https://vimeo.com/diamondback\">Diamondback Bicycles</a> 
on <a href=\"https://vimeo.com\">Vimeo</a>.</p>\n<p>and the 
end</p>

Тогда я хочу доверять только Iframe и отображать весь текст так: <div innerHtml="myResponse"></div>

Я попытался извлечь iframe, доверяя ему, а затем заменив его доверенным SafeHtml.Это не сработало.Есть ли возможность частично обойтиSecurityTrustHtml ()?

Я работаю с Angular 6 ...

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 19 сентября 2018

Возможно, вы используете неправильный синтаксис привязки атрибутов.

<div innerHtml="myResponse"></div>

Должно было быть

<div [innerHTML]="myResponse"></div>

PS - Не уверен, что это просто опечатка или проблема с синтаксисом у васконец.

...