Chính sách về ExpressExpressionProtection

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về 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, Thông số truy vấn, Tiêu đề, Thông 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 biểu thức chính quy được xác định trước. Nếu có bất kỳ biểu thức chính quy nào được chỉ định cho kết quả là true, thì thông báo đó sẽ bị coi là một mối đe doạ và sẽ 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ệ cụm từ thông dụng.

Video Nội dung mô tả
Ngăn chặn các cuộc tấn công chèn SQL (New Edge) Ngăn chặn các cuộc tấn công chèn SQL bằng chính sách Bảo vệ biểu thức chính quy trong giao diện người dùng trải nghiệm New Edge.
Bảo vệ khỏi các cuộc tấn công chèn SQL (phiên bản Classic Edge) Ngăn chặn các cuộc tấn công chèn SQL bằng chính sách Bảo vệ biểu thức chính quy trong giao diện người dùng Classic Edge.

Mẫu

GitHub

Mẫu bảo vệ biểu thức chính quy trên GitHub minh hoạ cách kiểm soát các cuộc tấn công có khả năng chèn SQL phát sinh 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 để thiết lập trạng thái lỗi 400 chung để ngăn tin tặc lấy bất kỳ thông tin hữu ích nào từ phản hồi.

JavaScript có tính năng chống tấn công

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

Mẫu ở 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> của bạn có các ký tự dành riêng trong XML (", &, ", < hoặc .), thì bạn phải mã hoá XML trước khi đưa vào tệp cấu hình XML của 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ó chứa dấu gạch chéo lên (/), thì bạn phải thoát dấu gạch chéo lên bằng cách đặt thuộc tính <JSONPayload> escapeSlashCharacter thành true.

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 này trong một biểu thức chính quy bằng cách dùng cấu trúc (?i). Chẳng hạn như trong ví dụ này, DELETE, deleteDelete sẽ được đánh giá là true (đúng).

<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ệ biểu thức chính quy

Apigee Edge cho phép bạn định cấu hình các biểu thức chính quy để đánh giá dựa trên lưu lượng truy cập API trong thời gian chạy nhằm xác định các mối đe doạ phổ biến ở cấp nội dung theo một số mẫu hình nhất định.

Biểu thức chính quy hay viết tắt là biểu thức chính quy là một tập hợp 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 để lấy mẫu theo phương thức lập trình. Bạn có thể sử dụng biểu thức chính quy, chẳng hạn như để đánh giá một địa chỉ email nhằm đảm bảo địa chỉ đó có cấu trúc đúng. Để biết thêm thông tin, hãy xem phần Biểu thức chính quy trong Hướng dẫn Java.

Cách sử dụng phổ biến nhất của RegularExpressionProtection là đánh giá các tải trọng JSON và XML cho nội dung độc hại.

Không có biểu thức chính quy nào có thể loại bỏ mọi cuộc tấn công dựa trên nội dung. Bạn nên kết hợp nhiều cơ chế để tạo ra khả năng phòng thủ theo chiều sâu. Phần này mô tả một số mẫu đề 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 Biểu thức chính quy
Chèn SQL
[\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))
Nội dung chèn bao gồm phía máy chủ
<!--#(include|exec|echo|config|printenv)\s+.*

Mã hoá XML:

&lt;!--#(include|exec|echo|config|printenv)\s+.*
Chèn cú pháp viết tắt XPath
(/(@?[\w_?\w:\*]+(\[[^]]+\])*)?)+
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*>

Mã hoá XML:

&lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*/\s*script\s*&gt;
Chèn ngoại lệ Java
.*?Exception in thread.*

Đặt tiêu đề Loại nội dung 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ừ một tải trọng XML và đánh giá theo biểu thức chính quy đã cung cấp.

    Nếu bạn sử dụng <XMLPayload> trong chính sách thì 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ừ tải trọng JSON và đánh giá theo biểu thức chính quy đã cung cấp.

    Nếu bạn sử dụng <JSONPayload> trong chính sách này, thì tiêu đề Content-Type của yêu cầu phải ở dạng nội dung JSON, chẳng hạn như application/json.

Thông thường, bạn sẽ thiết kế 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 chính sách Bảo vệ 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.

Tham chiếu phần tử

Tham chiếu 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>

Thuộc tính <RegularExpressionProtection>

<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">

Bảng sau đây mô tả các thuộc tính chung cho tất cả phần tử mẹ của chính sách:

Thuộc tính Nội dung 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ự.

Nếu muốn, bạn có thể sử dụng phần tử <DisplayName> để gắn nhãn cho chính sách này 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 một chính sách không hoạt động. Đây là hành vi dự kiến đối với hầu hết các chính sách.

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

false Không bắt buộc
enabled

Đặt thành true để thực thi chính sách.

Đặ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 chính sách vẫn được đính kèm vào một quy trì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

Phần tử <DisplayName>

Sử dụng cùng với thuộc tính name để gắn nhãn cho 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 khác theo ngôn ngữ tự nhiên.

<DisplayName>Policy Display Name</DisplayName>
Mặc định

Không áp dụng

Nếu bạn bỏ qua phần tử này, thì giá trị thuộc tính name của chính sách sẽ được 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 thông báo cần trích xuất thông tin nào.

Nếu phần tử <Source> bị bỏ qua, giá trị mặc định sẽ là message. Ví dụ: <Source>message</Source>. Khi bạn đặt thành message, chính sách này sẽ dùng thông báo yêu cầu làm nguồn khi được đính kèm vào quy trình yêu cầu. Tương tự, chính sách này sử dụng tin nhắn phản hồi khi được đính kèm vào quy trình phản hồi.

Nếu không thể phân giải tin nhắn nguồn hoặc nếu tin nhắn đó được chuyển thành loại không phải tin nhắn, thì chính sách sẽ trả về một lỗi.

<Source>response</Source>
Mặc định: Không áp dụng
Sự 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 hay không khi gặp một biến không thể giải quyết.

Nếu đặt thành false (mặc định), chính sách này sẽ trả về lỗi khi gặp một biến không thể phân giải. Nếu bạn đặt thành true, thì biến chưa được giải quyết sẽ được coi là chuỗi trống (Null).

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
Mặc định: false
Sự hiện diện: Không bắt buộc
Loại: Boolean

Phần tử <URIPath>

Chỉ định thông tin cần được trích xuất từ đường dẫn URI yêu cầu và đánh giá dựa trên 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 để khớp.

<URIPath>
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</URIPath>
Mặc định: Không áp dụng
Sự 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 của yêu cầu và đánh giá dựa trên các biểu thức chính quy đã 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 để khớp.

<QueryParam name="a-query-param">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</QueryParam>
Mặc định: Không áp dụng
Sự 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 Nội dung mô tả Mặc định Sự hiện diện
tên Tên của tham số truy vấn yêu cầu mà từ đó 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 đã 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ừ các tiêu đề của yêu cầu và phản hồi, đồng thời đá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 để khớp.

<Header name="a-header">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</Header>
Mặc định: Không áp dụng
Sự 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 Nội dung mô tả Mặc định Sự hiện diện
tên

Tên của tiêu đề yêu cầu và phản hồi, từ đó 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ử <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à đánh giá dựa trên các biểu thức chính quy đã 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 để khớp.

<FormParam name="a-form-param">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>     
</FormParam>
Mặc định: Không áp dụng
Sự 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 Nội dung mô tả Mặc định Sự hiện diện
tên

Tên của tham số biểu mẫu yêu cầu mà từ đó 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 đã cung cấp.

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

Phần tử <Biến>

Xác định rằng thông tin cần được trích xuất từ một biến đã cho và đánh giá dựa trên các biểu thức chính quy đã cung cấp.

<Variable name="request.content">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</Variable>
Mặc định: Không áp dụng
Sự 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 Nội dung mô tả Mặc định Sự hiện diện
tên

Tên của biế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 đã 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ừ một tải trọng XML và đá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
Sự hiện diện: Không bắt buộc
Loại: Không áp dụng

Phần tử <XMLPayload>/<Namespaces>

Chỉ định không gian tên sẽ được sử 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
Sự 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 sử 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
Sự hiện diện: Không bắt buộc
Loại: Chuỗi

Thuộc tính

Thuộc tính Nội dung mô tả Mặc định Sự hiện diện
tiền tố

Cung cấp một tiền tố để giúp đủ điều kiện một không gian tên cụ thể.

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

Phần tử <XMLPayload>/<XPath>

Chỉ định XPath sẽ đượ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
Sự hiện diện: Không bắt buộc
Loại: Không áp dụng

Phần tử <XMLPayload>/<XPath>/<Expression>

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 của 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
Sự hiện diện: Không bắt buộc
Loại: Chuỗi

Phần tử <XMLPayload>/<XPath>/<Type>

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: string
Sự hiện diện: Không bắt buộc
Loại: Chuỗi
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> chứa các ký tự dành riêng trong XML (", &, ", < hoặc .), thì bạn phải mã hoá XML trước khi thêm.

<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
Sự 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
Sự 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 Nội dung mô tả Mặc định Sự hiện diện
escapeSlashCharacter

Đặt thành true để thoát mọi ký tự dấu gạch chéo lên (/) ở các biểu thức chính quy trong <JSONPath>/<Pattern>.

đúng 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
Sự 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> chứa các ký tự dành riêng trong XML (", &, ", < hoặc .), thì bạn phải mã hoá XML trước khi thêm.

<JSONPath>
   <Expression>$.store.book[*].author</Expression>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</JSONPath>
Mặc định: Không áp dụng
Sự 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 về Bảo vệ khỏi các mối đe doạ bằng JSON

Chính sách về Biện pháp bảo vệ khỏi mối đe doạ XML