Explorar o limpador de HTML

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • Remova o código indesejado e proteja-se contra problemas de segurança, como ataques de script entre sites, limpando a marcação HTML nos campos HTML e nos campos HTML traduzidos.

    Use a limpeza de HTML para garantir que o conteúdo HTML em sua instância não contenha conteúdo potencialmente prejudicial. A limpeza de HTML funciona removendo marcadores HTML que podem ser usados para comprometer sua instância, como <![CDATA[<script> ]]>, <link>ou <embed> que podem ser usadas para executar scripts indesejados em sua instância ou direcionar os usuários para conteúdo indesejado. Os marcadores seguros que controlam a formatação do seu conteúdo são preservadas. Como administrador, você pode personalizar o conteúdo removido ou preservado. Você também pode controlar se a limpeza se aplica a todo o conteúdo ou apenas aos campos especificados.

    O limpador de HTML funciona verificando se há marcação que você queira manter preservada na lista de inclusões internas. O limpador fornece a inclusão de script HTMLSanitizerConfig que os administradores podem usar para modificar a lista de inclusões interna. Também podem ser adicionados itens à lista de exclusões para remover a marcação HTML. Os conteúdos da lista de exclusões substituem a lista de inclusões.

    Os seguintes tipos de itens podem ser adicionados às listas de inclusão e exclusão:
    • Atributos globais
    • Quaisquer elementos HTML
    Nota:
    Por padrão, atributos de URL como href e src são compatíveis somente com estes protocolos:
    • http
    • https
    • mailto
    • dados
    Por exemplo:
    <a href="https://community.servicenow.com/community">ServiceNow Community</a>
    Nota:
    Para aprender mais sobre a propriedade glide.html.sanitize_all_fields que controla o uso do limpador de HTML, consulte Limpador de HTML nas Configurações de proteção de segurança de instância.

    Configurar urlAttributes e os protocolos

    Você pode configurar o urlAttributes e seus protocolos na inclusão de script HTMLSanitizer. Por exemplo:

    HTML_WHITELIST : {
    urlAttributes: { "protocols" : [ "file", "notes" ] },
                    -  -
                    -  -
            }

    Como anotações está na lista de inclusões neste exemplo, este URL não foi limpo:

    <a title=“Lotus” href=“Notes://ABC/X575C90019DE33/ABC594DCB76D86EB4925653E0011C4C1/ZZ90B7E2D33964749257EEA003456FD”>Lotus</a></p> 

    Lista de inclusões padrão

    Nota:
    A lista de inclusões padrão é uma lista do sistema e não pode ser acessada por usuários na instância.
    BUILTIN_HTML_WHITELIST :{
     
        globalAttributes:{ attribute:["id","class","lang","title","style"],
     
                                     attributeValuePattern:{}},
     
        label:{ attribute:["for"]},
     
        font:{ attribute:["color","face","size"]},
     
        a:{ attribute:["href","nohref","name","shape"]},
     
        img:{ attribute:["src","name","alt","border","hspace","vspace","align","height","width"},
     
        table:{ attribute:["border","cellpadding","cellspacing","bgcolor","background","align","no resize","height","width","summary","frame","rules"]},
     
        th:{ attribute:["background","bgcolor","abbr","axis","headers","scope","nowrap","height","width","align","valign","char off","char","colspan","rowspan"]},
     
        td:{ attribute:["background","bgcolor","abbr","axis","headers","scope","nowrap","height","width","align","valign","char off","char","colspan","rowspan"]},
     
        tr:{ attribute:["background","height","width","align","valign","char off","char"]},
     
        thead:{attribute:["align","valign","char off","char"]}, 
     
        tbody:{attribute:["align","valign","char off","char"]}, 
     
        tfoot:{attribute:["align","valign","char off","char"]}, 
     
        colgroup:{attribute:["align","valign","char off","char","span","width"]}, 
     
        col:{attribute:["align","valign","char off","char","span","width"]},
     
        p:{attribute:["align"]},
     
        style:{attributeValuePattern:{"type":"text/css"}}
     
        canvas:{ attribute:["height","width"]},
     
        details:{ attribute:["open"]},
     
        summary:{ attribute:["open","valign","char off","char"]},
     
        button:{ attribute:["disabled","accesskey","type"]},
     
        form:{},
     
        input:{ attribute:["size","maxlength","checked","alt","src","type","disabled","readonly","accesskey","border","usemap"]},
     
        select:{ attribute:["disabled","multiple","size"]},
     
        textarea:{ attribute:["rows","cols","disabled","readonly","accesskey"]},
     
        option:{ attribute:["disabled","label","selected"]},
     
        div:{ attribute:["align"]},
     
        ol:{ attribute:["start","type","square"]},
     
        ul:{ attribute:["type","square","itemscope","itemtype","itemref"]},
     
        li:{ attribute:["value","fb__id","itemprop"]},
     
        span:{ attribute:["color","size","data-mce-bogus","itemprop","face"]},
     
        br:{ attribute:["clear"]},
     
        h3:{ attribute:["itemprop"]},
     
        html:{ attribute:["xmlns","lang","xml:lang"]},
     
        link:{ attribute:["rel","type","href","charset"]},
     
        meta:{ attribute:["name","content","scheme","charset","http-equiv"]},
     
        pre:{ attribute:["xml:space"]},
     
        noscript:{},    h1:{},    h2:{},      h4:{},    h5:{},    h6:{},   
     
        i:{},    b:{},    u:{},    strong:{},    em:{},    small:{},    big:{},   
     
        pre:{},    code:{},    cite:{},    samp:{},    sub:{},    sup:{},    
     
        strike:{},   center:{},  blockquote:{},    hr:{},      map:{},
     
        dd:{},    dt:{},    dl:{},  fieldset:{},    legend:{}, figure:{},  tt:{},
     
        body:{},   caption:{},   head:{},   title:{},  shape:{},},