2013-08-03 1 views

ответ

8

Этот пакет не похож на актуальный - фактический файл дезинфицирующего средства составляет не менее трех лет (в соответствии с меткой времени git). Я бы не рекомендовал использовать эту версию.

К сожалению, в настоящее время нет параметров для дезинфицирующего средства, которое просто поставляет альтернативный белый список. (Есть причины, это может измениться в будущем, но это еще не произошло.)

  • Самый простой способ изменить встроенный в белый список, чтобы получить дерево исходных Каха, изменять и перестраивать src/com/google/caja/lang/html/*-whitelist.json ($ ant); дезинфицирующее средство в той же форме, что и вы, было построено в ant-lib/com/google/caja/plugin/html-sanitizer-bundle.js.

  • Вы также можете настроить поведение напрямую, используя политику тегов. Вместо вызова sanitize(html) используйте sanitizeWithPolicy:

    var basicPolicy = html.makeTagPolicy(); 
    function customPolicy(tagName, attribs) { 
        if (/* whatever additional condition you want */) { 
         return basicPolicy(tagName, attribs); 
        } 
    } 
    
    ... 
    
    return html.sanitizeWithPolicy(input, customPolicy); 
    

    Однако это требует, чтобы запрограммировать желаемое ограничение, а не использовать существующую логику белого списка с имеющимися данными. Он также более чувствителен к возможным изменениям в санизирующем API в будущем.