NodeValidatorBuilder 类
帮助构建标准节点验证策略的类。
默认情况下,它将不接受任何内容,但可以使用 'allow*' 函数来扩展允许的元素或属性类型。
所有允许函数都是累加的 - 如果元素被任何特定规则接受,则将接受元素。
重要的是要记住,净化不仅仅是旨在防止跨站脚本攻击,还旨在防止信息以意外方式显示。例如,显示基本格式化文本的某物可能不期望出现 <video>
标签。在这种情况下,一个只包含 allowTextElements 的空 NodeValidatorBuilder 可能是合适的。
- 实现类型
构造函数
- NodeValidatorBuilder()
- NodeValidatorBuilder.common()
- 创建一个新的 NodeValidatorBuilder,它接受常见构造。
属性
- hashCode → int
- 此对象的哈希码。无设置器继承
- runtimeType → Type
- 对象运行时类型的表示。无设置器继承
方法
-
add(
NodeValidator validator) → void - 向当前验证器列表中添加一个额外的验证器。
-
allowCustomElement(
String tagName, {UriPolicy? uriPolicy, Iterable< String> ? attributes, Iterable<String> ? uriAttributes}) → void - 允许具有指定标签名和指定属性的定制元素。
-
allowElement(
String tagName, {UriPolicy? uriPolicy, Iterable< String> ? attributes, Iterable<String> ? uriAttributes}) → void -
allowHtml5(
{UriPolicy? uriPolicy}) → void - 允许常见的安全HTML5元素和属性。
-
allowImages(
[UriPolicy? uriPolicy]) → void - 允许图像元素。
-
allowInlineStyles(
{String? tagName}) → void - 允许元素上的内联样式。
- 允许导航元素 - 表单和锚标签,以及常见属性。
-
allowsAttribute(
Element element, String attributeName, String value) → bool - 如果属性被允许,则返回true。override
-
allowsElement(
Element element) → bool - 如果tagName是接受类型,则返回true。override
-
allowSvg(
) → void - 允许SVG元素和属性,但排除已知的坏元素。
-
allowTagExtension(
String tagName, String baseName, {UriPolicy? uriPolicy, Iterable< String> ? attributes, Iterable<String> ? uriAttributes}) → void - 允许具有指定类型名称和指定属性的定制标签扩展。
-
allowTemplating(
) → void - 允许模板元素(例如和与模板相关的属性。
-
allowTextElements(
) → void - 允许基本文本元素。
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
toString(
) → String - 该对象的字符串表示形式。继承
运算符
-
operator ==(
Object other) → bool - 相等运算符。继承