Cisco Cisco Web Security Appliance S370 Guía Del Usuario

Descargar
Página de 432
 
9-19
思科网络安全设备 AsyncOS 8.8 用户指南   
 9       对策略应用的 URL 进行分类
  正则表达式  
您必须用 ASCII 引号将包含空格或非字母数字字符的正则表达式引起来。
避免验证故障的准则
遵循以下准则以最大限度地减少验证故障:
  •
尽可能使用文本表达式,而不是通配符和括号表达式。文本表达式基本上就是简单的文本,
例如 “
It’ s as easy as ABC123
”。其发生故障的可能性要比使用 “
It’ s as easy as 
[A-C]{3}[1-3]{3}
”低。后面的表达式将导致创建非确定性有限自动机 (NFA )条目,这
可能会显著增加处理时间。
  •
尽可能避免使用非转义点号。点号是一个特殊的正则表达式字符,它表示匹配除换行符外的
任何字符。如果希望与实际的点匹配 (例如 “
url.com
”中的点),则使用 “\”字符转义点
号 (例如 “
url\.com
”)。转义的点号将按文本条目处理,因此不会引起问题。
同样,尽可能使用更具体的匹配项,而不是非转义点号。例如,如果希望与后跟单个数字的 
URL 匹配,请使用 “
url[0-9]
”,而不是 “
url.
”。
  •
在较长的正则表达式中的非转义点号特别可能引起故障,因此应尽可能避免。例如,“
Four 
score and seven years ago our fathers brought forth on this continent, a new nation, 
conceived in Liberty, and dedicated to the proposition that all men are created .qual
可能会引起故障。用文本 “
equal
”代替 “
.qual
”中的点号可以解决该问题。
此外,在点号后将返回 63 个以上字符的模式中的非转义点号会被模式匹配引擎禁用。修正
或替换相应模式。
  •
组合使用通配符和括号表达式可能会引起故障。尽可能避免使用组合。例如,
id:[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}\) Gecko/20100101 
Firefox/9\.0\.1\$
”可能会引起故障,而 “
Gecko/20100101 Firefox/9\.0\.1\$
”却不会引起
故障。后面的表达式不包括任何通配符或括号表达式,并且两个表达式仅使用转义的点号。
当无法避免使用通配符和括号表达式时,尽可能缩短表达式并降低其复杂性。例如,
[0-9a-z]{64}
”可能会引起故障。将其更改为长度更短的表达式或不太复杂的表达式可能会
解决此问题,例如 “
[0-9]{64}
”或 “
[0-9a-z]{40}
”。
如果出现故障,请尝试将上述这些规则应用于通配符 (例如 “*”、“+”和 “.”)和括号表达
式来排除故障。