מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
מה
שולפת מידע מהודעה (לדוגמה, נתיב URI, פרמטר שאילתה, כותרת, פרמטר טופס, משתנה, מטען ייעודי (payload) של XML או מטען ייעודי (payload) של JSON) והערכה של התוכן הזה מול תקן מוגדר מראש הבעות פנים. אם ביטויים רגולריים מסוימים מקבלים את הערך True, ההודעה נחשבת איום ונדחה.
סרטונים
לקבלת מידע נוסף על המדיניות בנושא הגנה על ביטויים רגולריים (regex) אפשר לצפות בסרטונים הבאים.
וידאו | תיאור |
---|---|
הגנה נגד מתקפות של החדרת SQL (New Edge) | הגנה מפני מתקפות של החדרת SQL באמצעות המדיניות regular Expression Protection ב: ממשק המשתמש של הממשק החדש של Edge. |
הגנה נגד התקפות הזרקת SQL (Classic Edge) | הגנה מפני מתקפות של החדרת SQL באמצעות המדיניות regular Expression Protection ב: לממשק המשתמש של Classic Edge. |
דוגמאות
GitHub
הגנה על ביטוי רגולרי (regex) דגימה ב-GitHub שממחישה איך להתמודד עם התקפות פוטנציאליות של החדרת SQL פרמטר של שאילתה. כמו כן, הדוגמה ממחישה שיטה מומלצת של הגדרת דירוג 400 כללי כדי למנוע מהאקרים לקבל מידע שימושי מהתגובה.
JavaScript כולל הגנה מפני מתקפות
<RegularExpressionProtection name="JsonPathRegExProtection"> <DisplayName>Regular Expression Protection 1</DisplayName> <Source>request</Source> <JSONPayload escapeSlashCharacter="true"> <JSONPath> <Expression>$</Expression> <Pattern><\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*> </Pattern> <Pattern>n\s*\\\\\s*slash</Pattern> <Pattern>n\s*\/\s*slash</Pattern> <Pattern>n\s*\\"\s*quotes</Pattern> <Pattern>n\s*\\b\s*space</Pattern> <Pattern>n\s*\\f\s*forwardfeed</Pattern> <Pattern>n\s*\\n\s*newline</Pattern> <Pattern>n\s*\\r\s*carria</Pattern> <Pattern>n\s*\\t\s*tab</Pattern> <Pattern>n\s*\\uFFFF\s*hex</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>
הדוגמה שלמעלה ממחישה איך להשתמש במדיניות regularExpressionProtection כדי להעריך
מטענים ייעודיים (payloads) של JSON ל-JavaScript כוללים התקפות. באופן ספציפי, התוכן שחולץ על ידי
<JSONPath>
מתוך <Expression>
מוערכים ביחס
ביטוי רגולרי ב-<JSONPath>
/<Pattern>
.
אם הביטוי הרגולרי בקובץ
<JSONPath>
/<Pattern>
כולל תווים ששמורים בפורמט XML
(", &, ', <, או .), צריך לקודד אותו ב-XML לפני שמוסיפים אותו בקובץ ה-XML של המדיניות
קובץ תצורה. לדוגמה, בדוגמה שלמעלה, הביטוי הרגולרי
במסגרת <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*>
קידוד XML בתור
<\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*>
.
בנוסף, אם הביטוי הרגולרי כולל קו נטוי לפנים (/), חובה לסמן בתו בריחה (escape)
באמצעות הגדרה של <JSONPayload>
escapeSlashCharacter
ל-true
.
התאמה ללא תלות ברישיות
זהו תרחיש לדוגמה נפוץ כשמדובר בהתאמה לא תלוית-רישיות. הנה דוגמה לאופן שבו אפשר
להשיג זאת בביטוי רגולרי באמצעות המבנה (?i)
. כאן
לדוגמה, DELETE
, delete
ו-Delete
את הערך True.
<Pattern>[\s]*(?i)((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))</Pattern>
מידע על המדיניות בנושא הגנה על ביטויים רגולריים
באמצעות Apigee Edge אפשר להגדיר ביטויים רגולריים מוערכת מול תנועה ב-API בזמן הריצה כדי לזהות איומים נפוצים ברמת התוכן, בהתאם לפעולות הבאות: דפוסים מסוימים.
ביטוי רגולרי, או regex בקיצור, הוא קבוצת מחרוזות שמציין את הדפוס במחרוזת. ביטויים רגולריים מאפשרים לתוכן להיות פרוגרמטי לבדוק דפוסים. אפשר להשתמש בביטויים רגולריים, למשל, כדי להעריך כתובת אימייל כדי לוודא שהמבנה שלו תקין. מידע נוסף זמין במאמר רגילה ביטויים במדריכים של Java.
השימוש הנפוץ ביותר ב-regularExpressionProtection הוא הערכת JSON ו-XML מטענים ייעודיים (payloads) של תוכן זדוני.
אף ביטוי רגולרי לא יכול למנוע את כל ההתקפות מבוססות התוכן, ויש מספר מנגנונים משולב כדי לאפשר הגנה לעומק. בקטע הזה מתוארות כמה דפוסים מומלצים עבור אי הכללה של תוכן.
החרגה לדוגמה דפוסים
ביטויים רגולריים חייבים להיות מקודדים ב-XML בקובץ תצורת ה-XML של המדיניות.
שם | ביטוי רגיל |
---|---|
הזרקת SQL |
[\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b)) |
הכללה בצד השרת |
<!--#(include|exec|echo|config|printenv)\s+.* קידוד XML: <!--#(include|exec|echo|config|printenv)\s+.* |
החדרת תחביר מקוצר של XPath |
(/(@?[\w_?\w:\*]+(\[[^]]+\])*)?)+ |
החדרת תחביר מורחב של XPath |
/?(ancestor(-or-self)?|descendant(-or-self)?|following(-sibling)) |
החדרת JavaScript |
<\s*script\b[^>]*>[^<]+<\s*/\s*script\s*> קידוד XML: <\s*script\b[^>]*>[^<]+<\s*/\s*script\s*> |
החדרת חריג של Java |
.*?Exception in thread.* |
הגדרת הכותרת Content-Type בבקשה עם מטען ייעודי (payload) של XML או JSON
המטען הייעודי (payload) של המדיניות בנושא 'הגנה על ביטוי רגולרי' יכול לכלול את הרכיבים הבאים: רכיבים:
-
רכיב
<XMLPayload>
: מציין שיש לחלץ את המידע מטען ייעודי (payload) של XML שנבדק ביחס לביטוי הרגולרי שסופק.אם המדיניות כוללת שימוש ב-
<XMLPayload>
, הכותרתContent-Type
של הבקשה חייבת להיות סוג תוכן XML כמוapplication/xml
אוtext/xml
. -
רכיב
<JSONPayload>
: מציין שצריך לחלץ את המידע ממטען ייעודי (payload) של JSON, שנבדק ביחס לביטוי הרגולרי שסופק.אם המדיניות כוללת שימוש ב-
<JSONPayload>
, הכותרתContent-Type
של הבקשה חייבת להיות סוג תוכן JSON כמוapplication/json
.
בדרך כלל מעצבים API לקבלת XML או JSON. אבל עלול להיות תרחיש
שבו ה-API קיבל את שניהם. לאחר מכן אפשר להגדיר מדיניות בנושא 'הגנה על ביטויים רגולריים'
שמשתמש גם ברכיב <XMLPayload>
וגם ברכיב <JSONPayload>
.
רק רכיב אחד יחול על בקשה ספציפית על סמך הערך של
הכותרת Content-Type
.
הפניה לרכיב
בהפניה לרכיב מתוארים הרכיבים והמאפיינים של regularExpressionProtection המדיניות בנושא
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection 1</DisplayName> <Source>response</Source> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <URIPath> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </URIPath> <QueryParam name="a-query-param"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </QueryParam> <Header name="a-header"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </Header> <FormParam name="a-form-param"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </FormParam> <Variable name="request.content"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </Variable> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> <JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>
<RegularExpressionProtection> מאפיינים
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
בטבלה הבאה מתוארים מאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
name |
השם הפנימי של המדיניות. הערך של המאפיין אפשר להשתמש ברכיב |
לא רלוונטי | חובה |
continueOnError |
צריך להגדיר את הערך יש להגדיר ל- |
false | אופציונלי |
enabled |
צריך להגדיר את הערך צריך להגדיר את הערך |
true | אופציונלי |
async |
המאפיין הזה הוצא משימוש. |
false | הוצא משימוש |
<DisplayName> רכיב
צריך להשתמש בנוסף למאפיין name
כדי להוסיף תווית למדיניות
עורך proxy של ממשק משתמש לניהול עם שם אחר בשפה טבעית.
<DisplayName>Policy Display Name</DisplayName>
ברירת מחדל |
לא רלוונטי אם משמיטים את הרכיב הזה, הערך של המאפיין |
---|---|
נוכחות | אופציונלי |
סוג | מחרוזת |
<Source> רכיב
מציין את ההודעה שממנה צריך לחלץ את המידע.
אם לא משמיטים את הרכיב <Source>
, ברירת המחדל של הערך תהיה
message
. לדוגמה, <Source>message</Source>
. כשההגדרה מוגדרת לערך
message
, המדיניות משתמשת בהודעת הבקשה כמקור כשהיא מצורפת לבקשה
. באופן דומה, המדיניות תשתמש בהודעת התשובה כשהיא מצורפת לתהליך תשובה.
אם לא ניתן לפענח את הודעת המקור או אם היא מובילה לסוג שאינו הודעה, המדיניות מחזירה שגיאה.
<Source>response</Source>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | מחרוזת |
<IgnoreUnresolvedVariables> רכיב
קובעת אם המדיניות תחזיר שגיאה כשהיא נתקלת במשתנה בלתי ניתן לפתרון.
אם המדיניות מוגדרת לערך false
(ברירת המחדל), המדיניות תחזיר שגיאה כשהמערכת לא יכולה לפתור את הבעיה
נמצא במשתנה. אם הערך שמוגדר לפרמטר הוא true
, המשתנה הזה לא יטופל כריק
מחרוזת (Null).
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
ברירת המחדל: | false |
נוכחות: | אופציונלי |
סוג: | ערך בוליאני |
<URIPath> רכיב
מציינת שצריך לחלץ את המידע מנתיב ה-URI של הבקשה ולבדוק אותו
לביטויים הרגולריים שצוינו. צריך להזין ערך אחד לפחות
רכיב <Pattern>
שמציין תבנית של ביטוי רגולרי להתאמה.
<URIPath> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </URIPath>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
<QueryParam> רכיב
מציינת שצריך לחלץ את המידע מהפרמטר של שאילתת הבקשה
מוערך ביחס לביטויים הרגולריים שסופקו. צריך להזין ערך אחד לפחות
רכיב <Pattern>
שמציין תבנית של ביטוי רגולרי להתאמה.
<QueryParam name="a-query-param"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </QueryParam>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
מאפיינים
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
שם | שם הפרמטר של שאילתת הבקשה שממנו צריך לחלץ את המידע הערכה מול הביטויים הרגולריים שסופקו. | לא רלוונטי | חובה |
<Header> רכיב
מציינת שצריך לחלץ את המידע מהכותרות של הבקשה והתשובה, וכן
מוערך ביחס לביטויים הרגולריים שסופקו. צריך להזין ערך אחד לפחות
רכיב <Pattern>
שמציין תבנית של ביטוי רגולרי להתאמה.
<Header name="a-header"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </Header>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
מאפיינים
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
שם |
שם הבקשה וכותרת התגובה שממנה צריך לחלץ את המידע לצורך הערכה של הביטויים הרגולריים שסופקו. |
לא רלוונטי | חובה |
<FormParam> רכיב
מציינת שצריך לחלץ את המידע מהפרמטר של טופס הבקשה ולבדוק אותו
לביטויים הרגולריים שצוינו. צריך להזין ערך אחד לפחות
רכיב <Pattern>
שמציין תבנית של ביטוי רגולרי להתאמה.
<FormParam name="a-form-param"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </FormParam>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
מאפיינים
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
שם |
שם הפרמטר של טופס הבקשה שממנו יש לחלץ את המידע הערכה מול הביטויים הרגולריים שסופקו. |
לא רלוונטי | חובה |
<Variable> רכיב
מציינת שצריך לחלץ את המידע מהמשתנה הנתון ולבדוק אותו מולו את הביטויים הרגולריים שצוינו.
<Variable name="request.content"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </Variable>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
מאפיינים
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
שם |
שם המשתנה שממנו צריך לחלץ את המידע לצורך הערכה לביטויים הרגולריים שצוינו. |
לא רלוונטי | חובה |
<XMLPayload> רכיב
מציינת שצריך לחלץ את המידע ממטען ייעודי (payload) של XML ולבדוק אותו מול ביטויים רגולריים.
<XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
<XMLPayload>/<Namespaces> רכיב
מציינת את מרחבי השמות לשימוש בהערכת ה-XPath.
<XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | מחרוזת |
<XMLPayload>/<Namespaces>/<Namespace> רכיב
מציין כל מרחב שמות ל- משמש בהערכת XPath.<Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | מחרוזת |
מאפיינים
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
תחילית |
מספקת קידומת כדי לסייע בהתאמת מרחב שמות נתון. |
לא רלוונטי | חובה |
<XMLPayload>/<XPath> רכיב
מציין את ה-XPath צריך להעריך אותם.<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
<XMLPayload>/<XPath>/<Expression> רכיב
מציינת את ביטוי ה-XPath שהוגדר למשתנה. רק ביטויי XPath 1.0 נתמכים. לדוגמה,<Expression>/company/employee[@age>=$request.header.age]</Expression>
מחלץ פרטים על עובדים שהגיל שלהם גדול מהערך שצוין או שווה לו
request.header.age
.<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | מחרוזת |
<XMLPayload>/<XPath>/<Type> רכיב
מציין את סוג הנתונים.<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
ברירת המחדל: | מחרוזת |
נוכחות: | אופציונלי |
סוג: | מחרוזת |
ערכים חוקיים: |
מחרוזת. הערכים החוקיים כוללים את |
<XMLPayload>/<XPath>/<Pattern> רכיב
מגדיר את דפוס הביטויים הרגולריים. אם ביטוי רגולרי בשדה
הרכיב <Pattern>
כולל תווים שמורים XML (", &, ', <, או
.), צריך לקודד אותו בפורמט XML לפני שמוסיפים אותו.
<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
ברירת המחדל: | לא רלוונטי |
נוכחות: | חובה |
סוג: | מחרוזת |
<JSONPayload> רכיב
מציינת שצריך לחלץ את המידע ממטען ייעודי (payload) של JSON ולבדוק אותו מול ביטויים רגולריים.
<JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
מאפיינים
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
escapeSlashCharacter |
יש להגדיר את הערך |
true | אופציונלי |
<JSONPayload>/<JSONPath>/<Expression> רכיב
מציינת את ביטוי ה-JSONPath שהוגדר למשתנה.
<JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | מחרוזת |
<JSONPayload>/<JSONPath>/<Pattern> רכיב
מגדיר את דפוס הביטויים הרגולריים. אם ביטוי רגולרי
הרכיב <Pattern>
כולל תווים שמורים XML (", &, ', < או .),
צריך לקודד אותו בפורמט XML לפני שמוסיפים אותו.
<JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath>
ברירת המחדל: | לא רלוונטי |
נוכחות: | חובה |
סוג: | מחרוזת |
התייחסות לשגיאות
בקטע הזה מתוארים קודי השגיאה וההודעות שהוחזרו ומשתני השגיאות שהוגדרו על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתקלות כדי לטפל בתקלות. כדי לתעד שגיאה ולהעלות
שגיאה מותאמת אישית משלך, צריך להגדיר את המאפיין continueOnError="true"
ברכיב הבסיס של המדיניות.
מידע נוסף זמין במאמרים
מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.
השגיאות שהוחזרו ממדיניות Edge הן בפורמט עקבי, כמו שמתואר בחומר העזר בנושא קוד שגיאה.
שגיאות בזמן ריצה
השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.
קוד שגיאה | מסר |
---|---|
ExecutionFailed | ביצוע השלב regularExpressionProtection StepDefinition נכשל. סיבה: {1} |
InstantiationFailed | נכשל מופע השלב regularExpressionProtection StepDefinition {0} |
NonMessageVariable | המשתנה {0} לא מפוענח להודעה |
SourceMessageNotAvailable | {0} ההודעה אינה זמינה עבור regularExpressionProtection StepDefinition {1} |
ThreatDetected | זוהה איום לביטוי רגולרי ב-{0}: ביטוי רגולרי: {1} קלט: {2} |
VariableResolutionFailed | לא ניתן לפענח את המשתנה {0} |
שגיאות בפריסה
קוד שגיאה | מסר | תיקון |
---|---|---|
CannotBeConvertedToNodeset | regularExpressionProtection {0}: לא ניתן להמיר את התוצאה של xpath {1} ל-צומתset. הקשר {2} | build |
DuplicatePrefix | regularExpressionProtection {0}: קידומת כפולה {1} | build |
EmptyJSONPathExpression | regularExpressionProtection {0}: ביטוי JSONPath ריק | build |
EmptyXPathExpression | regularExpressionProtection {0}: ביטוי XPath ריק | build |
InvalidRegularExpression | regularExpressionProtection {0}: ביטוי רגולרי לא חוקי {1}, הקשר {2} | build |
JSONPathCompilationFailed | regularExpressionProtection {0}: ההידור של jsonpath {1} נכשל. הקשר {2} | build |
NONEmptyPrefixpedToEmptyURI | regularExpressionProtection {0}: לא ניתן למפות קידומת שאינה ריקה {1} ל-URI ריק | build |
NoPatternsToEnforce | regularExpressionProtection {0}: אין דפוסים לאכיפה ב{1} | build |
NothingToEnforce | regularExpressionProtection {0}: לפחות אחד מהערכים URIPath, QueryParam, Header , FormParam, XMLPayload, JSONPayload | build |
XPathCompilationFailed | regularExpressionProtection {0}: ההידור של ה-xpath {1} נכשל. הקשר {2} | build |
משתני שבר
המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה. אפשר לקרוא מידע נוסף במאמר מה צריך לדעת על שגיאות מדיניות.
משתנים | מיקום | דוגמה |
---|---|---|
fault.name="fault_name" |
fault_name הוא שם התקלה, כפי שמפורט בטבלה שלמעלה. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |