Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular : sanitizing HTML stripped some content on css style

I am using a wysiwyg editor in my Angular component, when i try to preview the content of the editor, (after i apply center to the text), i get this warning:

WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).
platform-browser.es5.js:1015

when i inspect the html:

<p>Text Here...</p>

but when i try to use console.log() to preview the content of the editor i get:

<p style="text-align: center;">Text Here...</p>
like image 290
Salim Ben Hassine Avatar asked Dec 06 '17 19:12

Salim Ben Hassine


1 Answers

This is by design in Angular 2+ for security reasons. You can workaround it by using the DomSanitizer class.

For example you can make a pipe that prevents sanitization of the value:

import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';

@Pipe({ name: 'noSanitize' })
export class NoSanitizePipe implements PipeTransform {
   constructor(private domSanitizer: DomSanitizer) {

   }
   transform(html: string): SafeHtml {
      return this.domSanitizer.bypassSecurityTrustHtml(html);
   }
}

Then you can use it in binding for example like this:

<div [innerHTML]="htmlText | noSanitize">
</div>
like image 132
AlesD Avatar answered Nov 13 '22 20:11

AlesD