המדיניות של StandardExpressionProtection

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

מה

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

סרטונים

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

וידאו התיאור
הגנה מפני מתקפות של החדרת SQL (חדש Edge) הגנה מפני מתקפות של החדרת SQL באמצעות המדיניות 'הגנה על ביטוי רגולרי' בממשק המשתמש החדש של Edge.
הגנה מפני התקפות של החדרת SQL (Classic Edge) הגנה מפני מתקפות של החדרת SQL באמצעות המדיניות 'הגנה על ביטוי רגולרי' בממשק המשתמש הקלאסי של Edge.

טעימות

GitHub

הדגימה להגנה על ביטוי רגולרי ב-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 כדי להעריך מטענים ייעודיים (payloads) של 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;.

בנוסף, אם הביטוי הרגולרי כולל קווים נטויים לפנים (/), צריך לסמן אותם בתו בריחה (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 הוא הערכת מטענים ייעודיים (payloads) של JSON ו-XML עבור תוכן זדוני.

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

דפוסי החרגה לדוגמה

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

שם ביטוי רגולרי
הזרקת SQL
[\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))
הזרקת הכללה בצד השרת
<!--#(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>: מציין שיש לשלוף את המידע ממטען ייעודי של XML ולהעריך אותו מול הביטוי הרגולרי שסופק.

    אם משתמשים ב-<XMLPayload> במדיניות, הכותרת Content-Type של הבקשה חייבת להיות סוג תוכן XML, כמו application/xml או text/xml.

  • רכיב <JSONPayload>: מציין שיש לשלוף את המידע ממטען ייעודי של 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

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

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

לא רלוונטי נדרש
continueOnError

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

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

false אופציונלי
enabled

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

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

true אופציונלי
async

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

false הוצא משימוש

רכיב <DisplayName>

יש להשתמש במאפיין הזה בנוסף למאפיין 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>
ברירת מחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: לא רלוונטי

מאפיינים

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

האלמנט <Header>

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

<Header name="a-header">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</Header>
ברירת מחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: לא רלוונטי

מאפיינים

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

שם הבקשה וכותרת התגובה שממנה יש לחלץ מידע לצורך הערכה מול הביטויים הרגולריים שסופקו.

לא רלוונטי נדרש

אלמנט <FormParam>

מציינת שיש לחלץ את המידע מהפרמטר של טופס הבקשה ולהעריך את הנתונים ביחס לביטויים הרגולריים שסופקו. עליך לספק לפחות רכיב <Pattern> אחד שמציין דפוס של ביטוי רגולרי להתאמה.

<FormParam name="a-form-param">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>     
</FormParam>
ברירת מחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: לא רלוונטי

מאפיינים

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

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

לא רלוונטי נדרש

רכיב <Variable>

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

<Variable name="request.content">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</Variable>
ברירת מחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: לא רלוונטי

מאפיינים

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

שם המשתנה שממנו צריך לחלץ מידע לצורך הערכה ביחס לביטויים הרגולריים שסופקו.

לא רלוונטי נדרש

רכיב <XMLPayload>

מציינת שצריך לחלץ את המידע ממטען ייעודי של 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>
ברירת מחדל: מחרוזת
נוכחות: אופציונלי
סוג: מחרוזת
ערכים חוקיים:

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

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

מציינת שיש לחלץ את המידע ממטען ייעודי של 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>

מגדיר את הדפוס של הביטוי הרגולרי. אם ביטוי רגולרי ברכיב <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