شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
چه
اطلاعات را از یک پیام (به عنوان مثال، مسیر URI، پارامتر پرس و جو، هدر، پارامتر فرم، متغیر، XML Payload یا JSON Payload) استخراج میکند و آن محتوا را در برابر عبارات منظم از پیش تعریف شده ارزیابی میکند. اگر هر یک از عبارات منظم مشخص شده درست ارزیابی شوند، پیام به عنوان یک تهدید در نظر گرفته شده و رد میشود.
ویدیوها
برای کسب اطلاعات بیشتر در مورد سیاست حفاظت از عبارات منظم، ویدیوهای زیر را تماشا کنید.
| ویدئو | توضیحات |
|---|---|
| محافظت در برابر حملات تزریق SQL (New Edge) | با استفاده از سیاست محافظت از عبارات منظم در رابط کاربری New Edge، در برابر حملات تزریق SQL محافظت کنید. |
| محافظت در برابر حملات تزریق SQL (Classic Edge) | با استفاده از سیاست محافظت از عبارات منظم در رابط کاربری کلاسیک اج، در برابر حملات تزریق SQL محافظت کنید. |
نمونهها
گیتهاب
نمونهی محافظت با عبارات منظم (regex-protection) در گیتهاب، نحوهی به دام انداختن حملات تزریق SQL بالقوه که از طریق یک پارامتر پرسوجو صادر میشوند را نشان میدهد. همچنین، این نمونه، یک روش خوب برای تنظیم وضعیت خطای عمومی ۴۰۰ را نشان میدهد تا از دسترسی هکرها به هرگونه اطلاعات مفید از پاسخ جلوگیری شود.
جاوا اسکریپت شامل محافظت در برابر حمله است
<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 برای حملات شامل جاوا اسکریپت نشان میدهد. بهطور خاص، محتوای استخراجشده توسط <JSONPath> / <Expression> در برابر عبارت منظم موجود در <JSONPath> / <Pattern> ارزیابی میشود.
اگر عبارت منظم در <JSONPath> / <Pattern> شما شامل کاراکترهای رزرو شده XML (",", &, ', <, یا .) باشد، باید قبل از قرار دادن آن در فایل پیکربندی XML سیاست، آن را XML-encode کنید. برای مثال، در نمونه بالا، عبارت منظم <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*> <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*> > به صورت XML-encode شده است.
علاوه بر این، اگر عبارت منظم شما شامل اسلش (/) است، باید با تنظیم ویژگی escapeSlashCharacter <JSONPayload> به true ، از آنها فرار کنید.
تطبیق غیر حساس به حروف بزرگ و کوچک
تطبیق غیرحساس به حروف بزرگ و کوچک یک مورد استفاده رایج است. در اینجا مثالی از نحوه انجام این کار در یک عبارت منظم با استفاده از ساختار (?i) آورده شده است. برای مثال، در این مثال، DELETE ، delete و Delete به مقدار true ارزیابی میشوند.
<Pattern>[\s]*(?i)((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))</Pattern>
درباره سیاست حفاظت از عبارات منظم
Apigee Edge شما را قادر میسازد تا عبارات منظمی را پیکربندی کنید که میتوانند در زمان اجرا در برابر ترافیک API ارزیابی شوند تا تهدیدات رایج در سطح محتوا را که از الگوهای خاصی پیروی میکنند، شناسایی کنند.
یک عبارت منظم یا به اختصار regex ، مجموعهای از رشتهها است که یک الگو را در یک رشته مشخص میکند. عبارات منظم امکان ارزیابی محتوا را از نظر الگوها به صورت برنامهنویسی فراهم میکنند. به عنوان مثال، میتوان از عبارات منظم برای ارزیابی یک آدرس ایمیل استفاده کرد تا از ساختار صحیح آن اطمینان حاصل شود. برای اطلاعات بیشتر، به بخش عبارات منظم در آموزشهای جاوا مراجعه کنید.
رایجترین کاربرد RegularExpressionProtection ارزیابی دادههای JSON و XML برای یافتن محتوای مخرب است.
هیچ عبارت منظمی نمیتواند تمام حملات مبتنی بر محتوا را از بین ببرد و باید چندین مکانیسم برای فعال کردن دفاع در عمق ترکیب شوند. این بخش برخی از الگوهای توصیه شده برای حذف محتوا را شرح میدهد.
الگوهای طرد مثال
عبارات منظم باید در فایل پیکربندی XML مربوط به سیاست، به صورت XML کدگذاری شوند.
| نام | عبارت منظم |
|---|---|
| تزریق SQL | [\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b)) |
| تزریق include سمت سرور | <!--#(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)) |
| تزریق جاوا اسکریپت | <\s*script\b[^>]*>[^<]+<\s*/\s*script\s*> XML کدگذاری شده: <\s*script\b[^>]*>[^<]+<\s*/\s*script\s*> |
| تزریق استثنا در جاوا | .*?Exception in thread.* |
هدر Content-Type را در درخواستی با بار داده XML یا JSON تنظیم کنید.
محتوای سیاست حفاظت از عبارات منظم میتواند شامل عناصر زیر باشد:
- عنصر
<XMLPayload>: مشخص میکند که اطلاعات باید از یک XML payload استخراج شده و در برابر عبارت منظم ارائه شده ارزیابی شود.اگر از
<XMLPayload>در سیاست استفاده میکنید، سرآیندContent-Typeدرخواست باید یک نوع محتوای XML مانندapplication/xmlیاtext/xmlباشد. - عنصر
<JSONPayload>: مشخص میکند که اطلاعات باید از یک JSON payload استخراج شده و در برابر عبارت منظم ارائه شده ارزیابی شود.اگر از
<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 | نام داخلی سیاست. مقدار مشخصه در صورت تمایل، از عنصر | N/A | مورد نیاز |
continueOnError | برای بازگرداندن خطا در صورت شکست خط مشی، روی روی | نادرست | اختیاری |
enabled | برای اجرای خط مشی روی برای خاموش کردن خط مشی، روی | درست است | اختیاری |
async | این ویژگی منسوخ شده است. | نادرست | منسوخ شده است |
عنصر <DisplayName>
علاوه بر ویژگی name برای برچسبگذاری خطمشی در ویرایشگر پروکسی رابط کاربری مدیریت با نامی متفاوت و به زبان طبیعی، از آن استفاده کنید.
<DisplayName>Policy Display Name</DisplayName>
| پیش فرض | N/A اگر این عنصر را حذف کنید، از مقدار ویژگی |
|---|---|
| حضور | اختیاری |
| تایپ کنید | رشته |
عنصر <منبع>
پیامی را نشان میدهد که باید اطلاعات از آن استخراج شود.
اگر عنصر <Source> حذف شود، مقدار پیشفرض آن message است. برای مثال، <Source>message</Source> . وقتی روی message تنظیم شود، این سیاست از پیام درخواست به عنوان منبع هنگام اتصال به یک جریان درخواست استفاده میکند. به همین ترتیب، این سیاست از پیام پاسخ هنگام اتصال به یک جریان پاسخ استفاده میکند.
اگر پیام مبدا قابل حل نباشد یا اگر به نوعی غیر از پیام تبدیل شود، این خطمشی خطا برمیگرداند.
<Source>response</Source>
| پیشفرض: | ناموجود |
| حضور: | اختیاری |
| نوع: | رشته |
عنصر <نادیده گرفتن متغیرهای حل نشده>
تعیین میکند که آیا این سیاست هنگام مواجهه با متغیری که غیرقابل حل است، خطایی را برمیگرداند یا خیر.
اگر روی 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>
| پیشفرض: | ناموجود |
| حضور: | اختیاری |
| نوع: | ناموجود |
ویژگیها
| ویژگی | توضیحات | پیشفرض | حضور |
|---|---|---|---|
| نام | نام پارامتر پرسوجوی درخواست که اطلاعات باید از آن برای ارزیابی در برابر عبارات منظم ارائه شده استخراج شود. | ناموجود | مورد نیاز |
عنصر <سربرگ>
مشخص میکند که اطلاعات باید از هدرهای درخواست و پاسخ استخراج شده و در برابر عبارات منظم ارائه شده ارزیابی شوند. شما باید حداقل یک عنصر <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 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 (",", &, ', <, or .") باشد، قبل از گنجاندن آن، باید آن را با XML-encode کنید.
<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
| پیشفرض: | ناموجود |
| حضور: | مورد نیاز |
| نوع: | رشته |
عنصر <JSONPayload>
مشخص میکند که اطلاعات باید از یک JSON payload استخراج شده و در برابر عبارات منظم ارائه شده ارزیابی شود.
<JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload>
| پیشفرض: | ناموجود |
| حضور: | اختیاری |
| نوع: | ناموجود |
ویژگیها
| ویژگی | توضیحات | پیشفرض | حضور |
|---|---|---|---|
| کاراکتر escapeSlash | برای حذف هرگونه کاراکتر اسلش (/) در عبارات منظم در | درست | اختیاری |
عنصر <JSONPayload>/<JSONPath>/<Expression>
عبارت JSONPath تعریف شده برای متغیر را مشخص میکند.
<JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath>
| پیشفرض: | ناموجود |
| حضور: | اختیاری |
| نوع: | رشته |
عنصر <JSONPayload>/<JSONPath>/<Pattern>
الگوی عبارت منظم را تعریف میکند. اگر یک عبارت منظم در عنصر <Pattern> شما شامل کاراکترهای رزرو شده XML (",", &, ', <, or .") باشد، قبل از گنجاندن آن، باید آن را با XML-encode کنید.
<JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath>
| پیشفرض: | ناموجود |
| حضور: | مورد نیاز |
| نوع: | رشته |
مرجع خطا
این بخش کدهای خطا و پیامهای بازگردانده شده و متغیرهای خطای تنظیم شده توسط Edge را هنگامی که این خطمشی خطایی ایجاد میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. اگر میخواهید خطا را ثبت کنید و خطای سفارشی خود را مطرح کنید، ویژگی continueOnError="true" را روی عنصر ریشه سیاست تنظیم کنید. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهایی که از خطمشیهای Edge برگردانده میشوند از یک قالب ثابت پیروی میکنند که در مرجع کد خطا توضیح داده شده است.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
| کد خطا | پیام |
|---|---|
| اجرا ناموفق بود | اجرای RegularExpressionProtection StepDefinition {0} انجام نشد. دلیل: {1} |
| Instantiation Failed | نمونه سازی RegularExpressionProtection StepDefinition {0} ناموفق بود |
| NonMessageVariable | متغیر {0} به پیام تبدیل نمی شود |
| SourceMessageNotAvailable | پیام {0} برای RegularExpressionProtection StepDefinition در دسترس نیست {1} |
| تهدید شناسایی شده | تهدید عبارت منظم در {0} شناسایی شد: regex: {1} ورودی: {2} |
| VariableResolution Failed | حل کردن متغیر {0} ناموفق بود |
خطاهای استقرار
| کد خطا | پیام | ثابت |
|---|---|---|
| CannotBeConvertedToNodeset | RegularExpressionProtection {0}: نتیجه xpath {1} را نمی توان به nodeset تبدیل کرد. زمینه {2} | build |
| DuplicatePrefix | RegularExpressionProtection {0}: پیشوند تکراری {1} | build |
| EmptyJSONPathExpression | RegularExpressionProtection {0}: عبارت JSONPath خالی است | build |
| EmptyXPathExpression | RegularExpressionProtection {0}: عبارت XPath خالی است | build |
| InvalidRegularExpression | RegularExpressionProtection {0}: عبارت منظم نامعتبر {1}، متن {2} | build |
| JSONPathCompilation ناموفق بود | RegularExpressionProtection {0}: jsonpath {1} کامپایل نشد. زمینه {2} | build |
| NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: پیشوند غیر خالی {1} را نمی توان به uri خالی نگاشت | build |
| NoPatternsToEnforce | RegularExpressionProtection {0}: هیچ الگوی برای اعمال در {1} وجود ندارد | build |
| NothingToEnforce | RegularExpressionProtection {0}: حداقل یکی از URIPath، QueryParam، Header، FormParam، XMLPayload، JSONPayload اجباری است | build |
| XPathCompilation Failed | 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 |