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, 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 nội dung thông thường được xác định trước biểu thức. Nếu bất kỳ biểu thức chính quy nào được chỉ định có kết quả là true thì thông báo sẽ được coi là đ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ệ 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 (cạnh mới) Chống lại 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ệ chống lại các cuộc tấn công chèn SQL (cạnh cổ điển) Chống lại 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

Bảo vệ biểu thức chính quy mẫu trên GitHub minh hoạ cách bẫy các cuộc tấn công chèn SQL có thể được phát hành thông qua tham số truy vấn. Ngoài ra, mẫu này minh hoạ phương pháp hay để thiết lập giá trị chung 400 trạng thái lỗi để ngăn chặn tin tặc thu được bất kỳ thông tin hữu ích nào từ phản hồi.

JavaScript có tính năng bảo vệ 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 JavaScript bao gồm cả các cuộc tấn công. Cụ thể, nội dung được trích xuất bởi <JSONPath>/<Expression> được đánh giá theo biểu thức chính quy trong <JSONPath>/<Pattern>.

Nếu biểu thức chính quy trong <JSONPath>/<Pattern> bao gồm các ký tự dành riêng cho XML (", &, ', < hoặc .), bạn phải mã hoá XML trước khi đưa mã đó vào XML của chính sách tệp cấu hình. Ví dụ: trong mẫu ở trên, biểu thức chính quy <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*> đã được Được mã hoá XML thành &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ó dấu gạch chéo lên (/), bạn phải thoát bằng cách đặt <JSONPayload> escapeSlashCharacter cho true.

Kiểu 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 để 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 điều đó theo biểu thức chính quy bằng cách sử dụng cấu trúc (?i). Trong phần này Ví dụ: DELETE, deleteDelete sẽ đánh giá thành đú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 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 một số mẫu hình nhất định.

Biểu thức chính quy (viết tắt là regex) là một tập hợp các chuỗi chỉ định mẫu trong chuỗi. Biểu thức chính quy cho phép nội dung được lập trình đánh giá mẫu. Có thể sử dụng biểu thức chính quy để đánh giá địa chỉ email để đảm bảo rằng mã được cấu trúc chính xác. Để biết thêm thông tin, hãy xem phần Thông thường Biểu thức trong Hướng dẫn Java.

Cách sử dụng phổ biến nhất của RegularExpressionProtection là đánh giá 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 và nhiều cơ chế nên được kết hợp để bảo vệ theo chiều sâu. Phần này mô tả một số mẫu được đề xuất cho loại trừ nội dung.

Ví dụ về tiêu chí loại trừ mẫu

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 bao gồm phía máy chủ
<!--#(include|exec|echo|config|printenv)\s+.*

XML được mã hoá:

&lt;!--#(include|exec|echo|config|printenv)\s+.*
Chèn cú pháp viết tắt của q
(/(@?[\w_?\w:\*]+(\[[^]]+\])*)?)+
Chèn cú pháp mở rộng q
/?(ancestor(-or-self)?|descendant(-or-self)?|following(-sibling))
Chèn JavaScript
<\s*script\b[^>]*>[^<]+<\s*/\s*script\s*>

XML được mã hoá:

&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 thông tin sau phần tử:

  • Phần tử <XMLPayload>: Xác định thông tin cần được trích xuất tải trọng XML và được đá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 này, thì giá trị 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>: Xác định thông tin cần được trích xuất từ tải trọng JSON và được đá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ì giá trị 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, vẫn có thể xảy ra trường hợp trong đó 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 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>

&lt;RegularExpressionProtection&gt; thuộc tính

<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

&lt;Source&gt; phần tử

Cho biết thông báo mà thông tin cần được trích xuất.

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

Nếu thông báo nguồn không thể được phân giải hoặc nếu thông báo đó chuyển thành một loại không phải là thông báo, 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

&lt;IgnoreUnresolvedVariables&gt; phần tử

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 được.

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

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

&lt;URIPath&gt; phần tử

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

&lt;QueryParam&gt; phần tử

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á theo 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 để 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
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 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à thông tin cần được trích xuất 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

&lt;Header&gt; phần tử

Chỉ định thông tin cần được trích xuất từ các tiêu đề của yêu cầu, phản hồi và được đánh giá theo 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 để so 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 Mô tả Mặc định Sự hiện diện
tên

Tên của yêu cầu và tiêu đề phản hồi mà thông tin cần được trích xuất để đánh giá theo biểu thức chính quy được cung cấp.

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

&lt;FormParam&gt; phần tử

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 vào 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 để 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
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 Mô tả Mặc định Sự hiện diện
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 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

&lt;Variable&gt; phần tử

Chỉ định rằng thông tin cần được trích xuất từ một biến nhất định và được đánh giá dựa trên 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 Mô tả Mặc định Sự hiện diện
tên

Tên của biến mà thông tin cần được trích xuất để đánh giá dựa vào biểu thức chính quy đã cung cấp.

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

&lt;XMLPayload&gt; phần tử

Chỉ định rằng thông tin cần được trích xuất từ một tải trọng XML và được đánh giá theo đã cung cấp biểu thức chính quy.

<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

&lt;XMLPayload&gt;/&lt;Namespaces&gt; phần tử

Chỉ định không gian tên sẽ dùng trong quá trình đánh giá NETWORK.

<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

&lt;XMLPayload&gt;/&lt;Namespaces&gt;/&lt;Namespace&gt; phần tử

Chỉ định từng không gian tên để sẽ được dùng trong đánh giá q.
<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 Mô tả Mặc định Sự hiện diện
tiền tố

Cung cấp tiền tố để giúp đáp ứng điều kiện cho một vùng chứa tên nhất định.

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

&lt;XMLPayload&gt;/&lt;XPath&gt; phần tử

Chỉ định ng cần đá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

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Expression&gt; phần tử

Chỉ định biểu thức Wi-Fi được xác định cho biến. Chỉ biểu thức NETWORK 1.0 được hỗ trợ. Ví dụ: <Expression>/company/employee[@age>=$request.header.age]</Expression> trích xuất thông tin chi tiết về 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

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Type&gt; 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: 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.

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Pattern&gt; phần tử

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 bao gồm các ký tự dành riêng cho XML (", &, ', < hoặc .), bạn phải mã hoá XML trước khi thêm vào.

<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

&lt;JSONPayload&gt; phần tử

Chỉ định rằng thông tin cần được trích xuất từ tải trọng JSON và được đánh giá dựa trên đã cung cấp biểu thức chính quy.

<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 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 (/) trong biểu thức trong <JSONPath>/<Pattern>.

đúng Không bắt buộc

&lt;JSONPayload&gt;/&lt;JSONPath&gt;/&lt;Expression&gt; phần tử

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

&lt;JSONPayload&gt;/&lt;JSONPath&gt;/&lt;Pattern&gt; phần tử

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 cho XML (", &, ', < hoặc .), bạn phải mã hoá XML trước khi đưa vào.

<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

Mối đe doạ liên quan đến JSON Chính sách bảo vệ

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