Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Nội dung
Trích xuất thông tin từ một thông báo (ví dụ: Đường dẫn URI, Tham số truy vấn, Tiêu đề, Tham số biểu mẫu, Biến, Tải trọng XML hoặc Tải trọng JSON) và đánh giá nội dung đó dựa trên các biểu thức chính quy được xác định trước. Nếu bất kỳ biểu thức chính quy nào được chỉ định đánh giá là true, thì thông báo đó sẽ được coi là mối đe doạ và bị từ chối.
Video
Hãy xem các video sau để tìm hiểu thêm về chính sách Bảo vệ bằng biểu thức chính quy.
| Video | Mô tả |
|---|---|
| Bảo vệ chống lại các cuộc tấn công chèn SQL (New Edge) | Bảo vệ khỏi các cuộc tấn công chèn SQL bằng chính sách Bảo vệ bằng biểu thức chính quy trong giao diện người dùng New Edge. |
| Bảo vệ chống lại các cuộc tấn công chèn SQL (Classic Edge) | Bảo vệ khỏi các cuộc tấn công chèn SQL bằng chính sách Bảo vệ bằng biểu thức chính quy trong giao diện người dùng Classic Edge. |
Mẫu
GitHub
Mẫu regex-protection trên GitHub minh hoạ cách chặn các cuộc tấn công chèn mã SQL có thể xảy ra thông qua một tham số truy vấn. Ngoài ra, mẫu này minh hoạ một phương pháp hay là đặt trạng thái lỗi chung 400 để ngăn tin tặc thu thập bất kỳ thông tin hữu ích nào từ phản hồi.
Bảo vệ chống tấn công bằng cách chèn 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>
Ví dụ trên minh hoạ cách sử dụng chính sách RegularExpressionProtection để đánh giá tải trọng JSON cho các cuộc tấn công bao gồm JavaScript. Cụ thể, nội dung do <JSONPath>/<Expression> trích xuất sẽ được đánh giá dựa trên biểu thức chính quy trong <JSONPath>/<Pattern>.
Nếu biểu thức chính quy trong <JSONPath>/<Pattern> chứa các ký tự dành riêng cho XML (", &, ', < hoặc .), bạn phải mã hoá XML trước khi đưa ký tự đó vào tệp cấu hình XML chính sách. Ví dụ: trong mẫu ở trên, biểu thức chính quy <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*> đã được mã hoá XML dưới dạng <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*>.
Ngoài ra, nếu biểu thức chính quy của bạn có dấu gạch chéo (/) thì bạn phải thoát dấu gạch chéo bằng cách đặt thuộc tính <JSONPayload> escapeSlashCharacter thành true.
So khớp không phân biệt chữ hoa chữ thường
Đây là một trường hợp sử dụng phổ biến để thực hiện so khớp không phân biệt chữ hoa chữ thường. Dưới đây là ví dụ về cách bạn có thể thực hiện việc đó trong một biểu thức chính quy bằng cách sử dụng cấu trúc (?i). Ví dụ: trong ví dụ này, DELETE, delete và Delete sẽ cho kết quả là true.
<Pattern>[\s]*(?i)((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))</Pattern>
Giới thiệu về chính sách Bảo vệ bằng biểu thức chính quy
Apigee Edge cho phép bạn định cấu hình biểu thức chính quy có thể được đánh giá dựa trên lưu lượng truy cập API trong thời gian chạy để xác định các mối đe doạ phổ biến ở cấp nội dung tuân theo một số mẫu nhất định.
Biểu thức chính quy (hay còn gọi là regex) là một tập hợp các chuỗi chỉ định một mẫu trong một chuỗi. Biểu thức chính quy cho phép đánh giá nội dung theo chương trình để tìm các mẫu. Bạn có thể sử dụng biểu thức chính quy, chẳng hạn như để đánh giá địa chỉ email nhằm đảm bảo địa chỉ đó được cấu trúc đúng cách. Để biết thêm thông tin, hãy xem phần Biểu thức chính quy trong Hướng dẫn về Java.
Cách sử dụng phổ biến nhất của RegularExpressionProtection là đánh giá tải trọng JSON và XML để tìm nội dung độc hại.
Không có biểu thức chính quy nào có thể loại bỏ tất cả các cuộc tấn công dựa trên nội dung và bạn nên kết hợp nhiều cơ chế để bật tính năng bảo vệ chuyên sâu. Phần này mô tả một số mẫu được đề xuất để loại trừ nội dung.
Ví dụ về mẫu loại trừ
Biểu thức chính quy phải được mã hoá XML trong tệp cấu hình XML của chính sách.
| Tên | Cụm từ thông dụng |
|---|---|
| Chèn SQL |
[\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b)) |
| Chèn lệnh máy chủ |
<!--#(include|exec|echo|config|printenv)\s+.* Được mã hoá bằng XML: <!--#(include|exec|echo|config|printenv)\s+.* |
| Tiêm cú pháp rút gọn XPath |
(/(@?[\w_?\w:\*]+(\[[^]]+\])*)?)+ |
| Tấn công bằng cách chèn cú pháp mở rộng XPath |
/?(ancestor(-or-self)?|descendant(-or-self)?|following(-sibling)) |
| Chèn JavaScript |
<\s*script\b[^>]*>[^<]+<\s*/\s*script\s*> Được mã hoá bằng XML: <\s*script\b[^>]*>[^<]+<\s*/\s*script\s*> |
| Java Exception Injection |
.*?Exception in thread.* |
Đặt tiêu đề Content-Type trong yêu cầu có tải trọng XML hoặc JSON
Tải trọng của chính sách Bảo vệ biểu thức chính quy có thể bao gồm các phần tử sau:
-
phần tử
<XMLPayload>: Chỉ định rằng thông tin cần được trích xuất từ tải trọng XML và được đánh giá dựa trên biểu thức chính quy được cung cấp.Nếu bạn sử dụng
<XMLPayload>trong chính sách, tiêu đềContent-Typecủa yêu cầu phải là loại nội dung XML, chẳng hạn nhưapplication/xmlhoặctext/xml. -
Phần tử
<JSONPayload>: Chỉ định rằng thông tin cần được trích xuất từ một tải trọng JSON và được đánh giá dựa trên biểu thức chính quy được cung cấp.Nếu bạn sử dụng
<JSONPayload>trong chính sách, thì tiêu đềContent-Typecủa yêu cầu phải là loại nội dung JSON, chẳng hạn nhưapplication/json.
Thông thường, bạn thiết kế một API để chấp nhận XML hoặc JSON. Tuy nhiên, có thể có trường hợp API chấp nhận cả hai. Sau đó, bạn có thể xác định một chính sách Bảo vệ bằng biểu thức chính quy sử dụng cả phần tử <XMLPayload> và <JSONPayload>.
Chỉ một phần tử sẽ áp dụng cho một yêu cầu cụ thể dựa trên giá trị của tiêu đề Content-Type.
Tài liệu tham khảo về phần tử
Tài liệu tham khảo về phần tử mô tả các phần tử và thuộc tính của chính sách 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">
Bảng sau đây mô tả những thuộc tính chung cho tất cả phần tử mẹ của chính sách:
| Thuộc tính | Mô tả | Mặc định | Sự hiện diện |
|---|---|---|---|
name |
Tên nội bộ của chính sách. Giá trị của thuộc tính (Không bắt buộc) Bạn có thể dùng phần tử |
Không áp dụng | Bắt buộc |
continueOnError |
Đặt thành Đặt thành |
false | Không bắt buộc |
enabled |
Hãy đặt thành Đặt thành |
đúng | Không bắt buộc |
async |
Thuộc tính này không được dùng nữa. |
false | Không được dùng nữa |
<DisplayName> phần tử
Hãy sử dụng cùng với thuộc tính name để gắn nhãn chính sách trong phần
trình chỉnh sửa proxy giao diện người dùng quản lý có tên ngôn ngữ tự nhiên khác.
<DisplayName>Policy Display Name</DisplayName>
| Mặc định |
Không áp dụng Nếu bạn bỏ qua phần tử này, giá trị của thuộc tính |
|---|---|
| Sự hiện diện | Không bắt buộc |
| Loại | Chuỗi |
Phần tử <Source>
Cho biết tin nhắn cần trích xuất thông tin.
Nếu bạn bỏ qua phần tử <Source>, giá trị mặc định sẽ là message. Ví dụ: <Source>message</Source>. Khi được đặt thành message, chính sách này sẽ sử dụng thông báo yêu cầu làm nguồn khi được đính kèm vào một luồng yêu cầu. Tương tự, chính sách này sử dụng thông báo phản hồi khi được đính kèm vào một luồng phản hồi.
Nếu không phân giải được thông báo nguồn hoặc nếu thông báo đó phân giải thành một loại không phải thông báo, thì chính sách sẽ trả về lỗi.
<Source>response</Source>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Chuỗi |
Phần tử <IgnoreUnresolvedVariables>
Xác định xem chính sách có trả về lỗi khi gặp phải một biến không thể phân giải hay không.
Nếu bạn đặt thành false (mặc định), chính sách sẽ trả về lỗi khi gặp phải một biến không thể phân giải. Nếu được đặt thành true, biến chưa phân giải sẽ được coi là chuỗi trống (Rỗng).
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
| Mặc định: | false |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Boolean |
Phần tử <URIPath>
Chỉ định rằng thông tin cần được trích xuất từ URI yêu cầu và được đánh giá dựa trên các biểu thức chính quy được cung cấp. Bạn phải cung cấp ít nhất một phần tử <Pattern> chỉ định mẫu biểu thức chính quy để so khớp.
<URIPath> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </URIPath>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Không áp dụng |
Phần tử <QueryParam>
Chỉ định rằng thông tin cần được trích xuất từ tham số truy vấn yêu cầu và được đánh giá dựa trên các biểu thức chính quy được cung cấp. Bạn phải cung cấp ít nhất một phần tử <Pattern> chỉ định mẫu biểu thức chính quy để so khớp.
<QueryParam name="a-query-param"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </QueryParam>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Không áp dụng |
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị |
|---|---|---|---|
| tên | Tên của tham số truy vấn yêu cầu mà thông tin cần được trích xuất để đánh giá dựa trên các biểu thức chính quy được cung cấp. | Không áp dụng | Bắt buộc |
Phần tử <Header>
Chỉ định rằng thông tin cần được trích xuất từ tiêu đề yêu cầu và tiêu đề phản hồi, đồng thời được đánh giá dựa trên các biểu thức chính quy được cung cấp. Bạn phải cung cấp ít nhất một phần tử <Pattern> chỉ định mẫu biểu thức chính quy để so khớp.
<Header name="a-header"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </Header>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Không áp dụng |
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị |
|---|---|---|---|
| tên |
Tên của tiêu đề yêu cầu và tiêu đề phản hồi mà bạn cần trích xuất thông tin để đánh giá dựa trên các biểu thức chính quy được cung cấp. |
Không áp dụng | Bắt buộc |
Phần tử <FormParam>
Chỉ định rằng thông tin cần được trích xuất từ tham số biểu mẫu yêu cầu và được đánh giá dựa trên các biểu thức chính quy được cung cấp. Bạn phải cung cấp ít nhất một phần tử <Pattern> chỉ định mẫu biểu thức chính quy để so khớp.
<FormParam name="a-form-param"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </FormParam>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Không áp dụng |
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị |
|---|---|---|---|
| tên |
Tên của thông số biểu mẫu yêu cầu mà thông tin cần được trích xuất để đánh giá dựa trên các biểu thức chính quy được cung cấp. |
Không áp dụng | Bắt buộc |
Phần tử <Variable>
Chỉ định rằng thông tin cần được trích xuất từ biến đã cho và được đánh giá dựa trên các biểu thức chính quy được cung cấp.
<Variable name="request.content"> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </Variable>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Không áp dụng |
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị |
|---|---|---|---|
| tên |
Tên của biến mà bạn cần trích xuất thông tin để đánh giá dựa trên các biểu thức chính quy được cung cấp. |
Không áp dụng | Bắt buộc |
Phần tử <XMLPayload>
Chỉ định rằng thông tin cần được trích xuất từ tải trọng XML và được đánh giá dựa trên các biểu thức chính quy được cung cấp.
<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>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Không áp dụng |
Phần tử <XMLPayload>/<Namespaces>
Chỉ định các không gian tên sẽ được dùng trong quá trình đánh giá 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>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Chuỗi |
Phần tử <XMLPayload>/<Namespaces>/<Namespace>
Chỉ định từng không gian tên sẽ được dùng trong quá trình đánh giá XPath.<Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Chuỗi |
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị |
|---|---|---|---|
| tiền tố |
Cung cấp một tiền tố để giúp đủ điều kiện cho một không gian tên nhất định. |
Không áp dụng | Bắt buộc |
Phần tử <XMLPayload>/<XPath>
Chỉ định XPath cần được đánh giá.<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Không áp dụng |
<XMLPayload>/<XPath>/<Expression> phần tử
Chỉ định biểu thức XPath được xác định cho biến. Chỉ hỗ trợ biểu thức XPath 1.0. Ví dụ:<Expression>/company/employee[@age>=$request.header.age]</Expression> trích xuất thông tin chi tiết cho những nhân viên có độ tuổi lớn hơn hoặc bằng giá trị được chỉ định trong request.header.age.<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Chuỗi |
<XMLPayload>/<XPath>/<Type>phần tử
Chỉ định kiểu dữ liệu.<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
| Mặc định: | chuỗi |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Chuỗi |
| Các giá trị hợp lệ: |
Chuỗi. Các giá trị hợp lệ bao gồm |
Phần tử <XMLPayload>/<XPath>/<Pattern>
Xác định mẫu biểu thức chính quy. Nếu một biểu thức chính quy trong phần tử <Pattern> của bạn có chứa các ký tự dành riêng cho XML (", &, ', < hoặc .), thì bạn phải mã hoá XML trước khi thêm biểu thức chính quy đó.
<XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </XPath>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Bắt buộc |
| Loại: | Chuỗi |
Phần tử <JSONPayload>
Chỉ định rằng thông tin cần được trích xuất từ một tải trọng JSON và đánh giá dựa trên các biểu thức chính quy được cung cấp.
<JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Không áp dụng |
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị |
|---|---|---|---|
| escapeSlashCharacter |
Đặt thành |
true | Không bắt buộc |
Phần tử <JSONPayload>/<JSONPath>/<Expression>
Chỉ định biểu thức JSONPath được xác định cho biến.
<JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Không bắt buộc |
| Loại: | Chuỗi |
Phần tử <JSONPayload>/<JSONPath>/<Pattern>
Xác định mẫu biểu thức chính quy. Nếu một biểu thức chính quy trong phần tử <Pattern> của bạn có chứa các ký tự dành riêng cho XML (", &, ', < hoặc .), bạn phải mã hoá XML trước khi thêm biểu thức chính quy đó.
<JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath>
| Mặc định: | Không áp dụng |
| Trạng thái hiện diện: | Bắt buộc |
| Loại: | Chuỗi |
Tham chiếu lỗi
Phần này mô tả các mã lỗi và thông báo được trả về cũng như các biến lỗi do Edge đặt ra khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Nếu bạn muốn phát hiện lỗi và báo lỗi tuỳ chỉnh của riêng mình, hãy đặt thuộc tính continueOnError="true" trên thành phần gốc của chính sách.
Để tìm hiểu thêm, hãy xem bài viết
Những điều bạn cần biết về lỗi về chính sách và Xử lý lỗi.
Lỗi được trả về từ chính sách Edge theo một định dạng nhất quán như mô tả trong Tài liệu tham khảo mã lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
| Mã lỗi | Thông điệp |
|---|---|
| ExecutionFailed | Không thể thực thi RegularExpressionProtection StepDefinition {0}. Lý do: {1} |
| InstantiationFailed | Không thể tạo thực thể của RegularExpressionProtection StepDefinition {0} |
| NonMessageVariable | Biến {0} không phân giải thành Thông báo |
| SourceMessageNotAvailable | {0} thông báo không có sẵn cho RegularExpressionProtection StepDefinition {1} |
| ThreatDetected | Phát hiện mối đe doạ sử dụng biểu thức chính quy trong {0}: regex: {1} đầu vào: {2} |
| VariableResolutionFailed | Không phân giải được biến {0} |
Lỗi triển khai
| Mã lỗi | Thông điệp | Khắc phục |
|---|---|---|
| CannotBeConvertedToNodeset | RegularExpressionProtection {0}: Không thể chuyển đổi kết quả của xpath {1} thành tập hợp nút. Ngữ cảnh {2} | build |
| DuplicatePrefix | RegularExpressionProtection {0}: Tiền tố trùng lặp {1} | build |
| EmptyJSONPathExpression | RegularExpressionProtection {0}: Biểu thức JSONPath trống | build |
| EmptyXPathExpression | RegularExpressionProtection {0}: Biểu thức XPath trống | build |
| InvalidRegularExpression | Biểu thức chính quy chính quy {0}: Biểu thức chính quy không hợp lệ {1}, Ngữ cảnh {2} | build |
| JSONPathCompilationFailed | RegularExpressionProtection {0}: Không thể biên dịch jsonpath {1}. Ngữ cảnh {2} | build |
| NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: Không thể ánh xạ tiền tố không trống {1} tới uri trống | build |
| NoPatternsToEnforce | RegularExpressionProtection {0}: Không có mẫu nào để thực thi trong {1} | build |
| NothingToEnforce | RegularExpressionProtection {0}: ít nhất một trong các URIPath, QueryParam, Header, formParam, XMLPayload, JSONPayload là bắt buộc | build |
| XPathCompilationFailed | RegularExpressionProtection {0}: Không biên dịch được xpath {1}. Ngữ cảnh {2} | build |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
| Biến | Trong đó | Ví dụ: |
|---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như được liệt kê trong bảng trên. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |