Angular 8 Белый список DomSanitizer? - PullRequest
0 голосов
/ 14 января 2020

Я использую angular (8) на моей веб-странице и хотел бы отобразить несколько iframe s как innerHTML.

По умолчанию angular domsanitizer удаляет опасные элементы. Я знаю, что могу отключить это, используя функции bypassSecurityTrustHtml и так далее. (https://angular.io/api/platform-browser/DomSanitizer)

Поскольку контент будет создаваться пользователем, я не могу просто обойти Domsanitizer, так как это слишком рискованно. Однако мне интересно, можно ли разрешить определенные домены, которые известны, например, мой собственный домен. Поэтому мне нужно дать Sanitizer какой-нибудь белый список с защищенными доменами. Google пока не дал ничего полезного, поэтому мне интересно: возможно ли это, и если да, то как бы я это сделал?

1 Ответ

1 голос
/ 31 марта 2020

Я думаю, что это трудно сделать в Angular, если вы не внедрите свой собственный DomSanitizer. Исходя из исходного кода здесь , iframe не находится в белом списке. Правило фильтрации, по-видимому, невозможно расширить. Я предлагаю вам выполнить фильтрацию здесь самостоятельно или использовать какую-нибудь стороннюю библиотеку, например js -xss , которая позволяет вам определять список while.

...