أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
الأدوات المستخدمة
يستخرج معلومات من رسالة (مثل مسار URI أو مَعلمة طلب البحث أو العنوان أو مَعلمة النموذج أو المتغيّر أو حمولة XML أو حمولة JSON) ويقيّم هذا المحتوى استنادًا إلى تعبيرات عادية محدّدة مسبقًا. إذا تم تقييم أي تعبيرات عادية محددة على أنّها صحيحة، سيتم اعتبار الرسالة تهديدًا وسيتم رفضها.
الفيديوهات
شاهِد الفيديوهات التالية لمعرفة المزيد حول سياسة "الحماية من التعبيرات العادية".
| فيديو | الوصف |
|---|---|
| الحماية من هجمات حقن SQL (New Edge) | الحماية من هجمات حقن SQL باستخدام سياسة "الحماية من التعبيرات العادية" في واجهة مستخدم New Edge |
| الحماية من هجمات إدخال SQL (Classic Edge) | يمكنك الحماية من هجمات حقن SQL باستخدام سياسة "الحماية من التعبيرات العادية" في واجهة مستخدم Classic 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><\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 لتقييم حمولات 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*>.
بالإضافة إلى ذلك، إذا كان التعبير العادي يتضمّن شرطات مائلة للأمام (/)، يجب إلغاء معناها الخاص
من خلال ضبط السمة <JSONPayload> escapeSlashCharacter على true.
المطابقة غير الحسّاسة لحالة الأحرف
من حالات الاستخدام الشائعة إجراء مطابقة غير حساسة لحالة الأحرف. في ما يلي مثال على كيفية إجراء ذلك في تعبير عادي باستخدام البنية (?i). في هذا المثال، سيتم تقييم DELETE وdelete وDelete على أنّها صحيحة.
<Pattern>[\s]*(?i)((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))</Pattern>
لمحة عن سياسة "الحماية من التعبيرات العادية"
تتيح لك Apigee Edge إعداد تعبيرات عادية يمكن تقييمها استنادًا إلى عدد الزيارات إلى واجهة برمجة التطبيقات في وقت التشغيل لتحديد التهديدات الشائعة على مستوى المحتوى التي تتّبع أنماطًا معيّنة.
التعبير العادي، أو regex باختصار، هو مجموعة من السلاسل التي تحدّد نمطًا في سلسلة. تتيح التعبيرات العادية تقييم المحتوى آليًا بحثًا عن أنماط. يمكن استخدام التعبيرات العادية، على سبيل المثال، لتقييم عنوان بريد إلكتروني لضمان أنّه منظَّم بشكل صحيح. لمزيد من المعلومات، يُرجى الاطّلاع على التعبيرات العادية في دروس Java التعليمية.
إنّ الاستخدام الأكثر شيوعًا لسياسة RegularExpressionProtection هو تقييم حمولات JSON وXML بحثًا عن محتوى ضار.
لا يمكن لأي تعبير عادي أن يمنع جميع الهجمات المستندة إلى المحتوى، ويجب الجمع بين آليات متعددة لتوفير دفاع شامل. يوضّح هذا القسم بعض الأنماط المقترَحة لاستبعاد المحتوى.
أمثلة على أنماط الاستبعاد
يجب ترميز التعبيرات العادية بتنسيق 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 Injection |
<\s*script\b[^>]*>[^<]+<\s*/\s*script\s*> ترميز XML: <\s*script\b[^>]*>[^<]+<\s*/\s*script\s*> |
| Java Exception Injection |
.*?Exception in thread.* |
ضبط عنوان Content-Type في طلب يتضمّن حمولة XML أو JSON
يمكن أن تتضمّن حمولة سياسة "الحماية باستخدام التعبيرات العادية" العناصر التالية:
-
عنصر
<XMLPayload>: يحدّد أنّه يجب استخراج المعلومات من حمولة XML وتقييمها مقارنةً بالتعبير العادي المقدَّم.في حال استخدام
<XMLPayload>في السياسة، يجب أن يكون العنوانContent-Typeللطلب من نوع محتوى XML، مثلapplication/xmlأوtext/xml. -
العنصر
<JSONPayload>: يحدّد أنّه يجب استخراج المعلومات من حمولة JSON وتقييمها مقابل التعبير العادي المقدَّم.إذا كنت تستخدم
<JSONPayload>في السياسة، يجب أن يكون رأسContent-Typeللطلب نوع محتوى JSON، مثلapplication/json.
عادةً ما تصمّم واجهة برمجة تطبيقات لقبول XML أو JSON. ومع ذلك، قد تحدث حالة تقبل فيها واجهة برمجة التطبيقات كلا القيمتين. يمكنك بعد ذلك تحديد سياسة "حماية التعبير العادي" التي تستخدم العنصرين <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 |
اضبط القيمة على يمكنك ضبط القيمة على |
خطأ | اختياري |
enabled |
اضبط القيمة على اضبط القيمة على |
صحيح | اختياري |
async |
تم إيقاف هذه السمة نهائيًا. |
خطأ | منهي العمل به |
<DisplayName> عنصر
استخدِمه مع السمة name لتصنيف السياسة في
إدارة خادم وكيل لواجهة المستخدم باسم مختلف بلغة طبيعية.
<DisplayName>Policy Display Name</DisplayName>
| تلقائي |
لا ينطبق إذا لم تستخدم هذا العنصر، سيتم ضبط قيمة السمة |
|---|---|
| التواجد في المنزل | اختياري |
| النوع | سلسلة |
العنصر <Source>
تشير إلى الرسالة التي يجب استخراج المعلومات منها.
في حال حذف العنصر <Source>، تكون القيمة التلقائية هي message. على سبيل المثال، <Source>message</Source>. عند ضبطها على message، تستخدم السياسة رسالة الطلب كمصدر عند إرفاقها بمسار طلب. وبالمثل، تستخدم السياسة رسالة الردّ عندما تكون مرفقة بتسلسل ردود.
إذا تعذّر تحليل الرسالة المصدر أو إذا تم تحليلها إلى نوع غير نوع الرسالة، ستعرض السياسة خطأً.
<Source>response</Source>
| القيمة التلقائية: | لا ينطبق |
| الحضور: | اختياري |
| النوع: | سلسلة |
العنصر <IgnoreUnresolvedVariables>
تحدّد ما إذا كانت السياسة تعرض خطأً عند مواجهة متغيّر لا يمكن حله.
إذا تم ضبطها على false (القيمة التلقائية)، ستعرض السياسة رسالة خطأ عند مواجهة متغيّر لا يمكن حله. إذا تم ضبطها على true، سيتم التعامل مع المتغيّر الذي لم يتم حله على أنّه سلسلة فارغة (Null).
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
| القيمة التلقائية: | خطأ |
| الحضور: | اختياري |
| النوع: | منطقي |
العنصر <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>
تحدّد هذه السمة أنّه يجب استخراج المعلومات من حمولة 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>
تحدّد هذه السمة أنّه يجب استخراج المعلومات من حمولة JSON وتقييمها استنادًا إلى التعبيرات العادية المقدَّمة.
<JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload>
| القيمة التلقائية: | لا ينطبق |
| الحضور: | اختياري |
| النوع: | لا ينطبق |
السمات
| السمة | الوصف | تلقائي | التواجد في المنزل |
|---|---|---|---|
| escapeSlashCharacter |
اضبط القيمة على |
صحيح | اختياري |
العنصر <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 | تعذّر تنفيذ خطوة تعريف الخطوة URIExpressionProtection {0}. السبب: {1} |
| InstantiationFailed | تعذّر إنشاء مثيل لـStepDefinition من وصولي>تعبير عن حماية Google {0} |
| NonMessageVariable | لم يتم تحويل المتغير {0} إلى رسالة |
| SourceMessageNotAvailable | رسالة {0} غير متاحة من أجل قاعدتي تعبير عن طريق تعبير عادي {1} |
| ThreatDetected | تم اكتشاف تهديد التعبير العادي في {0}: التعبير العادي: {1} الإدخال: {2} |
| VariableResolutionFailed | تعذّرت مطابقة المتغير {0}. |
أخطاء النشر
| رمز الخطأ | مراسلة | إصلاح |
|---|---|---|
| CannotBeConvertedToNodeset | StandardExpressionProtection {0}: لا يمكن تحويل نتيجة xpath {1} إلى مجموعة العقدة. السياق {2} | build |
| DuplicatePrefix | Standard ExpressionProtection {0}: بادئة مكررة {1} | build |
| EmptyJSONPathExpression | RegionExpressionProtection {0}: تعبير JSONPath فارغ | build |
| EmptyXPathExpression | RegionExpressionProtection {0}: تعبير XPath فارغ | build |
| InvalidRegularExpression | Standard ExpressionProtection {0}: تعبير عادي غير صالح {1}، السياق {2} | build |
| JSONPathCompilationFailed | RegionExpressionProtection {0}: تعذّر تجميع jsonpath {1}. السياق {2} | build |
| NONblankPrefixMappedToفارتم | Primary ExpressionProtection {0}: لا يمكن ربط البادئة غير الفارغة {1} بمعرّف الموارد المنتظم (URI) فارغ. | build |
| NoPatternsToEnforce | Standard ExpressionProtection {0}: ليست هناك أنماط لفرضها في {1} | build |
| NothingToEnforce | URIExpressionProtection {0}: يجب استخدام عبارة واحدة على الأقل من URIPath أو QueryParam أو العنوان أو FormParam أو XMLPayload أو JSONPayload | build |
| XPathCompilationFailed | StandardExpressionProtection {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 |