Blue Coat Systems Time Clock Proxy SG Manuale Utente

Pagina di 314
Chapter 1: Overview of Content Policy Language
23
More complex boolean expressions are allowed for the 
pattern_expression
 in the triggers. For 
example, the second part of the condition in the simple rule shown above could be “the request is 
made between 9 a.m. and noon or between 1 p.m. and 5 p.m”, expressed as:
... time=(0900..1200 || 1300..1700) ...
Boolean expression are built from the specific values allowed with the trigger, and the boolean 
operators 
!
 (not), 
&&
 (and), 
||
 
(or) and 
()
 for grouping. More details are found in the Trigger 
Reference chapter. Alternative values may also be separated by a comma—this is often more 
readable than using the ‘
||
’ operator. For example, the following rule will deny service to requests 
for pages in either one of the two domains listed.
url.domain=(example.com, another.com) deny
Long lines can be split using ‘
\
’ as a line continuation character. The ‘
\
’ must be the last character 
on the line and be preceded by space or Tab. For example:
url.domain=example.com time=0900..1700 \
deny
Do not use a semicolon to add comments within such a continued line: everything following the 
semicolon, including text on the continued lines, will be treated as part of the comment. For 
example:
url.domain=example.com \ ; missplaced comment
deny
becomes
url.domain=example.com ; missplaced comment deny
In other words, the effect was to continue the comment.
Quoting
Certain characters are considered special by CPL and have meaning as punctuation elements of the 
language. For example 
=
 (equal) separates a trigger name from its associated value, and blank space 
separates expressions in a rule. To use a value that contains one of these characters, the value must be 
quoted with either single (
'
) or double (
"
) quotation marks, so that the special characters are not 
interpreted as punctuation. Text within single quotation marks can include any character other than a 
single quotation mark. Text within double quotation marks can include any character other than a 
double quotation mark. Here are some examples of where quoting is necessary:
user="John Doe" ; value contains a space
url="www.example.com/script.cgi?param=value"  ; value contains ‘=’
deny( "You don’t have access to that page!" ) ; several special chars
The full list of characters that should be quoted when they appear can be found in the reference 
manual. Note that you can quote any string in CPL without affecting interpretation, even if the quotes 
are not strictly needed. For convenience, you can quote any value that consists of more than letters 
and/or numbers. 
user="john.doe" ; quotes not required, but can be used
Important:
Within a 
define action
 or 
define url_rewrite
 statement, you must use double 
quotes (
"
), not single quotes (
'
) to delimit a string.