Class: HtmlSanitizer

@nginstack/engine/lib/html/HtmlSanitizer~ HtmlSanitizer


new HtmlSanitizer()

Classe usada para a sanitização de conteúdo HTML, prevenindo falhas de segurança comuns(cross-site scripting, layout breaking e clickjacking) em decorrência da mesclagem com conteúdo HTML de origem não confiável. Ela mantém uma lista de tags, atributos e esquemas permitidos, e caso um elemento HTML de uma string em sanitização não esteja nessas listas, ele é excluído. Uma instância de HtmlSanitizer é inicializada automaticamente com uma parametrização conservadora.

Methods


<static> cleanHtml(content)

Método de classe que faz a sanitização de uma string HTML com uma parametrização conservadora

Parameters:
Name Type Description
content string

string HTML

Returns:

o conteúdo sanitizado

Type
string

<static> cleanText(content)

Método de classe que transforma uma string num HTML não formatado. Use essa função em lugares onde o padrão HTML suporta textos sem restrições, como o atributo title ou em conteúdo de parágrafos.

Parameters:
Name Type Description
content string

String a ser sanitizada.

Returns:

O conteúdo sanitizado na forma mais estrita

Type
string

addAllowedTagAttributes(tag, attributes)

Adiciona atributo(s) à lista de atributos permitidas para uma tag

Parameters:
Name Type Description
tag string

nome da tag, ou o caractere curinga(asterisco) para inserir um atributo válido para qualquer tag

attributes string | Array.<string>

atributo ou array de atributos permitidos. Se o parâmetro tag for o caractere curinga, o atributo pode ser sufixado também por um caractere coringa, definindo-se assim um prefixo de atributo válido para qualquer tag.


addAllowedTags(tags)

Adiciona tag(s) à lista de tags permitidas pela sanitização

Parameters:
Name Type Description
tags string | Array.<string>

uma tag ou um array de tags permitidas


addAllowedUrlSchemes(schemes)

Adiciona esquema(s) à lista de esquemas permitidos em URLs.

Parameters:
Name Type Description
schemes string | Array.<string>

esquema ou array de esquemas permitidos.


clean(content)

Realiza a sanitização de uma string HTML com a parametrização previamente definida.

Parameters:
Name Type Description
content string

string HTML

Returns:

o conteúdo sanitizado

Type
string

getAllowedTagAttributes()

Retorna uma cópia do mapa de atributos permitidos para cada tag pela sanitização.

Returns:

representando um mapa, onde os nomes de propriedades correspondem aos nomes das tags e seus valores são arrays de strings contento os nomes dos atributos

Type
Object

getAllowedTags()

Retorna uma cópia da lista de tags permitidas pela sanitização

Returns:

lista de tags permitidas

Type
Array.<string>

getAllowedUrlSchemes()

Retorna uma cópia da lista de esquemas de URLs permitidos pela sanitização

Returns:

lista de esquemas permitidos

Type
Array.<string>

removeAllowedTag(tag)

Remove tag da lista de tags permitidos.

Parameters:
Name Type Description
tag string

nome da tag a ser removida. Se for informado o caractere coringa(asterisco), a lista de tags permitidos será limpa.

Returns:

true se sucesso

Type
boolean

removeAllowedTagAttribute(tag [, opt_attrib])

Remove atributo da lista de atributos de tags permitidos.

Parameters:
Name Type Argument Description
tag string

nome da tag cujo atributo será excluído na lista de atributos permitidos, podendo ser o caractere coringa(asterisco)

opt_attrib string <optional>

nome do atributo. Se tag for o caractere coringa, e opt_attrib seja também o caractere coringa ou mesmo não seja informado, todos os atributos serão removidos das listas de atributos de tags permitidos. Se tag for o caractere coringa, mas opt_attrib seja um identificador de atributo, este atributo será removido de todas as listas de atributos de tags permitidos. Se tag for um identificador de tag, e opt_attrib for o caractere coringa, a lista de atributos permitidos para a tag tag será limpa. Caso não seja o caractere coringa, o atributo especificado será removido da lista de atributos permitidos para a tag especificada.

Returns:

true se sucesso

Type
boolean

removeAllowedUrlScheme(scheme)

Remove esquema da lista de esquemas permitidos em URLs.

Parameters:
Name Type Description
scheme string

nome da esquema a ser removido da lista. Se for informado o caractere coringa(asterisco), a lista de esquemas permitidos será limpa.

Returns:

true se sucesso

Type
boolean