Chính sách về ExpressExpressionProtection

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>&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>

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 &lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*\/\s*script\s*&gt;.

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, deleteDelete 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:

&lt;!--#(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:

&lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*/\s*script\s*&gt;
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-Type của yêu cầu phải là loại nội dung XML, chẳng hạn như application/xml hoặc text/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-Type củ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><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 name có thể chứa chữ cái, số, dấu cách, dấu gạch nối, dấu gạch dưới và dấu chấm. Giá trị này không được vượt quá 255 ký tự.

(Không bắt buộc) Bạn có thể dùng phần tử <DisplayName> để gắn nhãn chính sách trong trình chỉnh sửa proxy giao diện người dùng quản lý bằng tên ngôn ngữ tự nhiên khác.

Không áp dụng Bắt buộc
continueOnError

Đặt thành false để trả về lỗi khi chính sách không thành công. Điều này là dự kiến đối với hầu hết các chính sách.

Đặt thành true để tiếp tục thực thi luồng ngay cả sau khi có chính sách không thành công.

false Không bắt buộc
enabled

Hãy đặt thành true để thực thi chính sách này.

Đặt thành false để tắt chính sách này. Chính sách này sẽ không được thực thi ngay cả khi luồng đó vẫn được liên kết với một luồng.

đú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

&lt;DisplayName&gt; 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 name của chính sách sẽ là đã sử dụng.

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 string, boolean, int, long, float, doublenodeset.

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 để thoát mọi ký tự dấu gạch chéo lên (/) trong biểu thức chính quy trong <JSONPath>/<Pattern>.

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áchXử 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}
DuplicatePrefix RegularExpressionProtection {0}: Tiền tố trùng lặp {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: Biểu thức JSONPath trống
EmptyXPathExpression RegularExpressionProtection {0}: Biểu thức XPath trống
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}
JSONPathCompilationFailed RegularExpressionProtection {0}: Không thể biên dịch jsonpath {1}. Ngữ cảnh {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: Không thể ánh xạ tiền tố không trống {1} tới uri trống
NoPatternsToEnforce RegularExpressionProtection {0}: Không có mẫu nào để thực thi trong {1}
NothingToEnforce RegularExpressionProtection {0}: ít nhất một trong các URIPath, QueryParam, Header, formParam, XMLPayload, JSONPayload là bắt buộc
XPathCompilationFailed RegularExpressionProtection {0}: Không biên dịch được xpath {1}. Ngữ cảnh {2}

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

Giản đồ

Chủ đề có liên quan

Chính sách bảo vệ khỏi mối đe doạ JSON

Chính sách bảo vệ chống mối đe doạ XML