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