המדיניות של StandardExpressionProtection

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

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

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

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

&lt;RegularExpressionProtection&gt; מאפיינים

<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 של המדיניות הוא בשימוש.

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

&lt;Source&gt; רכיב

מציין את ההודעה שממנה צריך לחלץ את המידע.

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

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

<Source>response</Source>
ברירת המחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: מחרוזת

&lt;IgnoreUnresolvedVariables&gt; רכיב

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

אם המדיניות מוגדרת לערך false (ברירת המחדל), המדיניות תחזיר שגיאה כשהמערכת לא יכולה לפתור את הבעיה נמצא במשתנה. אם הערך שמוגדר לפרמטר הוא true, המשתנה הזה לא יטופל כריק מחרוזת (Null).

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
ברירת המחדל: false
נוכחות: אופציונלי
סוג: ערך בוליאני

&lt;URIPath&gt; רכיב

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

<URIPath>
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</URIPath>
ברירת המחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: לא רלוונטי

&lt;QueryParam&gt; רכיב

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

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

מאפיינים

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

&lt;Header&gt; רכיב

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

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

מאפיינים

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

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

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

&lt;FormParam&gt; רכיב

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

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

מאפיינים

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

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

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

&lt;Variable&gt; רכיב

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

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

מאפיינים

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

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

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

&lt;XMLPayload&gt; רכיב

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

&lt;XMLPayload&gt;/&lt;Namespaces&gt; רכיב

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

&lt;XMLPayload&gt;/&lt;Namespaces&gt;/&lt;Namespace&gt; רכיב

מציין כל מרחב שמות ל- משמש בהערכת XPath.
<Namespaces>
   <Namespace prefix="apigee">http://www.apigee.com</Namespace>
</Namespaces>
ברירת המחדל: לא רלוונטי
נוכחות: אופציונלי
סוג: מחרוזת

מאפיינים

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

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

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

&lt;XMLPayload&gt;/&lt;XPath&gt; רכיב

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

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Expression&gt; רכיב

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

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Type&gt; רכיב

מציין את סוג הנתונים.
<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.

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Pattern&gt; רכיב

מגדיר את דפוס הביטויים הרגולריים. אם ביטוי רגולרי בשדה הרכיב <Pattern> כולל תווים שמורים XML (", &, ', <, או .), צריך לקודד אותו בפורמט XML לפני שמוסיפים אותו.

<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
ברירת המחדל: לא רלוונטי
נוכחות: חובה
סוג: מחרוזת

&lt;JSONPayload&gt; רכיב

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

&lt;JSONPayload&gt;/&lt;JSONPath&gt;/&lt;Expression&gt; רכיב

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

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

&lt;JSONPayload&gt;/&lt;JSONPath&gt;/&lt;Pattern&gt; רכיב

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