מדיניות RegularExpressionProtection

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

מה

הפעולה מחלצת מידע מהודעה (לדוגמה, נתיב URI, פרמטר שאילתה, כותרת, פרמטר טופס, משתנה, מטען ייעודי (payload) של XML או מטען ייעודי (payload) של JSON) ומעריכה את התוכן הזה בהשוואה לביטויים רגולריים מוגדרים מראש. אם אחד מהביטויים הרגולריים שצוינו מחזיר את הערך True, ההודעה נחשבת לאיום והיא נדחית.

סרטונים

כדאי לצפות בסרטונים הבאים כדי לקבל מידע נוסף על מדיניות ההגנה על ביטויים רגולריים.

וידאו תיאור
הגנה מפני מתקפות של הזרקת SQL (New Edge) כדי להגן מפני התקפות של הזרקת SQL, אפשר להשתמש במדיניות Regular Expression Protection (הגנה באמצעות ביטוי רגולרי) בממשק המשתמש של New Edge.
הגנה מפני מתקפות של הזרקת SQL (Classic Edge) הגנה מפני התקפות של הזרקת SQL באמצעות מדיניות ההגנה על ביטויים רגולריים בממשק המשתמש הקלאסי של Edge.

דוגמאות

GitHub

הדוגמה של regex-protection ב-GitHub ממחישה איך לזהות מתקפות פוטנציאליות של הזרקת SQL שמונפקות דרך פרמטר של שאילתה. בנוסף, הדוגמה ממחישה שיטה מומלצת להגדרת סטטוס שגיאה כללי 400 כדי למנוע מהאקרים להשיג מידע שימושי מהתגובה.

הגנה מפני מתקפות שכוללות JavaScript

<RegularExpressionProtection name="JsonPathRegExProtection">
    <DisplayName>Regular Expression Protection 1</DisplayName>
    <Source>request</Source>
    <JSONPayload escapeSlashCharacter="true">
       <JSONPath>
          <Expression>$</Expression>
          <Pattern>&lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*\/\s*script\s*&gt;
          </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 כדי להעריך מטען ייעודי (payload) של JSON לצורך הכללה של JavaScript בהתקפות. באופן ספציפי, התוכן שחולץ על ידי <JSONPath>/<Expression> נבדק מול הביטוי הרגולרי ב-<JSONPath>/<Pattern>.

אם הביטוי הרגולרי ב-<JSONPath>/<Pattern> כולל תווים שמורים ב-XML (", &, ', < או .), צריך לקודד אותו ב-XML לפני שכוללים אותו בקובץ התצורה של מדיניות ה-XML. לדוגמה, בדוגמה שלמעלה, הביטוי הרגולרי <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*> עבר קידוד ב-XML כך: &lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*\/\s*script\s*&gt;.

בנוסף, אם הביטוי הרגולרי כולל לוכסנים (/), צריך להגדיר את מאפיין <JSONPayload> escapeSlashCharacter לערך true כדי לבצע escape.

התאמה ללא תלות ברישיות

תרחיש נפוץ לשימוש הוא התאמה לא תלוית-רישיות. דוגמה לאופן שבו אפשר לעשות את זה בביטוי רגולרי באמצעות המבנה (?i). בדוגמה הזו, הביטויים DELETE, delete ו-Delete יחזירו את הערך True.

<Pattern>[\s]*(?i)((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))</Pattern>

מידע על מדיניות ההגנה על ביטויים רגולריים

‫Apigee Edge מאפשר לכם להגדיר ביטויים רגולריים שאפשר להעריך אותם ביחס לתעבורת ה-API בזמן הריצה כדי לזהות איומים נפוצים ברמת התוכן שפועלים לפי דפוסים מסוימים.

ביטוי רגולרי, או regex בקיצור, הוא קבוצה של מחרוזות שמציינות תבנית במחרוזת. ביטויים רגולריים מאפשרים להעריך תוכן באופן פרוגרמטי כדי לזהות דפוסים. לדוגמה, אפשר להשתמש בביטויים רגולריים כדי להעריך כתובת אימייל ולוודא שהמבנה שלה תקין. מידע נוסף זמין במאמר Regular Expressions (ביטויים רגולריים) במדריכי Java.

השימוש הנפוץ ביותר ב-RegularExpressionProtection הוא הערכה של מטען ייעודי (payload) מסוג JSON ו-XML לזיהוי תוכן זדוני.

אף ביטוי רגולרי לא יכול למנוע את כל המתקפות שמבוססות על תוכן, ולכן צריך לשלב כמה מנגנונים כדי להפעיל הגנה מעמיקה. בקטע הזה מתוארים כמה דפוסים מומלצים להחרגת תוכן.

דוגמאות לתבניות של החרגות

צריך לקודד ביטויים רגולריים ב-XML בקובץ ההגדרות של המדיניות ב-XML.

שם ביטוי רגיל
הזרקת SQL
[\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))
הזרקת Server-Side Include
<!--#(include|exec|echo|config|printenv)\s+.*

קידוד XML:

&lt;!--#(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:

&lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*/\s*script\s*&gt;
החדרת חריגים ב-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> attributes

<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">

בטבלה הבאה מתוארים מאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:

מאפיין תיאור ברירת מחדל נוכחות
name

השם הפנימי של המדיניות. הערך של המאפיין name יכול לכלול אותיות, מספרים, רווחים, מקפים, קווים תחתונים ונקודות. הערך הזה לא יכול ארוך מ-255 תווים.

אפשר להשתמש ברכיב <DisplayName> כדי להוסיף תווית למדיניות עורך ה-Proxy של ממשק המשתמש לניהול בעל שם אחר בשפה טבעית.

לא רלוונטי חובה
continueOnError

צריך להגדיר את הערך false כדי להחזיר שגיאה כשמדיניות נכשלת. המצב הזה צפוי של רוב כללי המדיניות.

יש להגדיר ל-true כדי שביצוע התהליך יימשך גם לאחר המדיניות נכשל.

false אופציונלי
enabled

צריך להגדיר את הערך true כדי לאכוף את המדיניות.

צריך להגדיר את הערך false כדי להשבית את המדיניות. המדיניות לא תהיה אכיפה גם אם היא ממשיכה להיות מחוברת לזרימה.

true אופציונלי
async

המאפיין הזה הוצא משימוש.

false הוצא משימוש

&lt;DisplayName&gt; רכיב

צריך להשתמש בנוסף למאפיין name כדי להוסיף תווית למדיניות עורך proxy של ממשק משתמש לניהול עם שם אחר בשפה טבעית.

<DisplayName>Policy Display Name</DisplayName>
ברירת מחדל

לא רלוונטי

אם משמיטים את הרכיב הזה, הערך של המאפיין name של המדיניות הוא בשימוש.

נוכחות אופציונלי
סוג מחרוזת

רכיב <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> element

מציינים את ביטוי ה-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> element

מציין את סוג הנתונים.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
ברירת מחדל: מחרוזת
נוכחות: אופציונלי
סוג: מחרוזת
הערכים התקפים:

מחרוזת. הערכים התקפים כוללים את string,‏ boolean,‏ int,‏ long,‏ float,‏ double ו-nodeset.

‫<XMLPayload>/<XPath>/<Pattern> element

הגדרת תבנית הביטוי הרגולרי. אם ביטוי רגולרי ברכיב <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 כדי להוסיף תו בריחה (escape) לכל תו לוכסן (/) בביטויים הרגולריים ב-<JSONPath>/<Pattern>.

true אופציונלי

אלמנט <JSONPayload>/<JSONPath>/<Expression>

מציין את ביטוי ה-JSONPath שהוגדר למשתנה.

<JSONPath>
   <Expression>$.store.book[*].author</Expression>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</JSONPath>
ברירת מחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: מחרוזת

‫<JSONPayload>/<JSONPath>/<Pattern> element

הגדרת תבנית הביטוי הרגולרי. אם ביטוי רגולרי ברכיב <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}
DuplicatePrefix regularExpressionProtection {0}: קידומת כפולה {1}
EmptyJSONPathExpression regularExpressionProtection {0}: ביטוי JSONPath ריק
EmptyXPathExpression regularExpressionProtection {0}: ביטוי XPath ריק
InvalidRegularExpression regularExpressionProtection {0}: ביטוי רגולרי לא חוקי {1}, הקשר {2}
JSONPathCompilationFailed regularExpressionProtection {0}: ההידור של jsonpath {1} נכשל. הקשר {2}
NONEmptyPrefixpedToEmptyURI regularExpressionProtection {0}: לא ניתן למפות קידומת שאינה ריקה {1} ל-URI ריק
NoPatternsToEnforce regularExpressionProtection {0}: אין דפוסים לאכיפה ב{1}
NothingToEnforce regularExpressionProtection {0}: לפחות אחד מהערכים URIPath, QueryParam, Header , FormParam, XMLPayload, JSONPayload
XPathCompilationFailed regularExpressionProtection {0}: ההידור של ה-xpath {1} נכשל. הקשר {2}

משתני שבר

המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה. אפשר לקרוא מידע נוסף במאמר מה צריך לדעת על שגיאות מדיניות.

משתנים מיקום דוגמה
fault.name="fault_name" fault_name הוא שם התקלה, כפי שמפורט בטבלה שלמעלה. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

סכימות

נושאים קשורים

מדיניות להגנה מפני איומים ב-JSON

מדיניות הגנה מפני איומים ב-XML