Некоторые атрибуты удаляются при получении HTML-файлов из Spring Boot API в приложении Angular 5 - PullRequest
0 голосов
/ 08 мая 2018

При извлечении файла HTML из серверной части Spring Boot через его API-интерфейс с приложением Angular 4 во внешнем интерфейсе атрибуты тегов HTML типа id, name, data-* удаляются, но class тип атрибута остается. В чем причина, так как я не могу найти это?

1 Ответ

0 голосов
/ 08 мая 2018

Если вы имеете в виду, что атрибуты удаляются при привязке к innerHTML элемента в шаблоне, кажется, что эти атрибуты не разрешены дезинфицирующим средством. Вероятно, в основном потому, что они не очень полезны в приложении Angular. Я не знаю, считаются ли id и data потенциально небезопасными. Я знаю, что формы, входы, кнопки и т. Д. Настолько бесполезны name.

Разрешенные атрибуты перечислены в html_sanitizer.ts ( полный источник ):

const HTML_ATTRS = tagSet('abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,' 
+ 'compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,' +   'ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,' +    'scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,' +
    'valign,value,vspace,width');

Если вам действительно нужны атрибуты id, name или data (зачем вам на самом деле?) И можете доверять html 110%, т.е. он не был получен из какого-либо пользовательского ввода или вы уже очистили его на стороне сервера, вы можете вызвать DomSanitizer.bypassSecurityTrustHtml () с ним перед привязкой (или в канале), чтобы оставить html нетронутым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...