Kebijakan RegularExpressionProtection

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

ikon kebijakan

Apa

Mengekstrak informasi dari pesan (misalnya, URI Path, Query Param, Header, Form Param, Variable, XML Payload, atau JSON Payload) dan mengevaluasi konten tersebut terhadap ekspresi reguler yang telah ditetapkan. Jika ekspresi reguler yang ditentukan bernilai true, pesan dianggap sebagai ancaman, dan kebijakan akan menampilkan kesalahan.

Kebijakan ini merupakan Kebijakan yang dapat diperluas, dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau pemanfaatan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.

Video

Tonton video berikut untuk mempelajari lebih lanjut kebijakan Perlindungan Ekspresi Reguler.

Video Deskripsi
Melindungi dari serangan injeksi SQL Melindungi dari serangan injeksi SQL menggunakan kebijakan Perlindungan Ekspresi Reguler di UI Apigee.

Sampel

GitHub

Contoh perlindungan ekspresi reguler di GitHub menggambarkan cara menjebak potensi serangan injeksi SQL yang dikeluarkan melalui parameter kueri yang mungkin berisi kode berbahaya dalam tag <script>. Contoh ini juga menggambarkan praktik yang baik dalam menetapkan status error 400 umum untuk mencegah peretas mendapatkan informasi yang berguna dari respons tersebut.

JavaScript mencakup perlindungan terhadap serangan

<RegularExpressionProtection name="JsonPathRegExProtection">
    <Source>request</Source>
    <JSONPayload escapeSlashCharacter="true">
       <JSONPath>
          <Expression>$.</Expression>
          <Pattern><![CDATA[ <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*> ]]></Pattern>
       </JSONPath>
    </JSONPayload>
 </RegularExpressionProtection>

Contoh di atas menggambarkan cara menggunakan kebijakan RegularExpressionProtection untuk mengevaluasi payload JSON untuk serangan penyertaan JavaScript. Secara khusus, konten yang diekstrak oleh <JSONPath>/<Expression> dievaluasi berdasarkan ekspresi reguler di <JSONPath>/<Pattern>.

Jika ekspresi reguler dalam <JSONPath>/<Pattern> menyertakan karakter yang dicadangkan untuk XML (", &, ', <, atau >), Anda harus menggabungkannya ke dalam bagian HMAC (data karakter), seperti yang ditunjukkan dalam contoh di atas, atau mengenkode karakter yang dicadangkan dengan XML: misalnya, dengan mengganti < dengan &lt; dan > dengan &gt;.

Selain itu, jika ekspresi reguler menyertakan garis miring (/), Anda harus meng-escapenya dengan menetapkan atribut <JSONPayload> escapeSlashCharacter ke true.

Pencocokan tidak peka huruf besar/kecil

Melakukan pencocokan yang tidak peka huruf besar-kecil adalah kasus penggunaan umum. Berikut ini contoh cara melakukannya dalam ekspresi reguler menggunakan konstruksi (?i). Dalam contoh ini, misalnya, DELETE, delete, dan Delete akan bernilai true (benar).

<Pattern>[\s]*(?i)((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))</Pattern>

Pemeriksaan parameter formulir

<RegularExpressionProtection name="REP-Formparam">
  <Source>request</Source>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
  <FormParam name="firstname">
    <Pattern><![CDATA[[-+=$%&]]]></Pattern>
  </FormParam>
  <FormParam name="lastname">
    <Pattern><![CDATA[[-+=$%&]]]></Pattern>
  </FormParam>
</RegularExpressionProtection>

Konfigurasi kebijakan RegularExpressionProtection ini akan mengevaluasi parameter bentuk untuk adanya chatacter khusus, dalam [-+=$%&] yang ditetapkan. Kebijakan ini hanya akan berlaku jika header jenis konten dalam permintaan adalah application/x-www-form-urlencoded. Konfigurasi kebijakan menggunakan bagian Jupyter (data karakter) untuk menggabungkan ekspresi reguler, karena adanya karakter &, yang bersifat khusus dalam XML.


Tentang kebijakan Perlindungan Ekspresi Reguler

Dengan Apigee, Anda dapat mengonfigurasi ekspresi reguler yang dapat dievaluasi terhadap traffic API saat runtime untuk mengidentifikasi ancaman tingkat konten umum yang mengikuti pola tertentu.

Ekspresi reguler, atau disingkat regex, adalah sekumpulan string yang menentukan pola dalam string. Ekspresi reguler memungkinkan konten dievaluasi secara terprogram untuk polanya. Ekspresi reguler dapat digunakan, misalnya, untuk mengevaluasi alamat email guna memastikan bahwa strukturnya benar. Untuk informasi selengkapnya, lihat Ekspresi Reguler di Tutorial Java.

Penggunaan RegularExpressionProtection yang paling umum adalah evaluasi payload JSON dan XML untuk konten berbahaya.

Tidak ada ekspresi reguler yang dapat menghilangkan semua serangan berbasis konten, dan beberapa mekanisme harus digabungkan untuk mengaktifkan defense in depth. Bagian ini menjelaskan beberapa pola yang direkomendasikan untuk mengecualikan konten.

Contoh pola pengecualian

Ekspresi reguler harus dienkode dengan XML dalam file konfigurasi XML kebijakan. Lihat juga Antipattern: Menggunakan kuantitas serakah dalam kebijakan RegularExpressionProtection.

Nama Regular Expression
Injeksi SQL
[\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))
Injeksi Sertakan Sisi Server
<!--#(include|exec|echo|config|printenv)\s+.*

Dienkode ke XML:

&lt;!--#(include|exec|echo|config|printenv)\s+.*
Injeksi Sintaksis Singkat XPath
(/(@?[\w_?\w:\*]+(\[[^]]+\])*)?)+
Injeksi Sintaksis yang Diperluas XPath
/?(ancestor(-or-self)?|descendant(-or-self)?|following(-sibling))
Injeksi JavaScript
<\s*script\b[^>]*>[^<]+<\s*/\s*script\s*>

Dienkode ke XML:

&lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*/\s*script\s*&gt;

Menyetel header Content-Type dalam permintaan dengan payload XML atau JSON

Payload kebijakan Perlindungan Ekspresi Reguler dapat mencakup elemen berikut:

  • Elemen <XMLPayload>: Menentukan bahwa informasi perlu diekstrak dari payload XML dan dievaluasi berdasarkan ekspresi reguler yang disediakan.

    Jika Anda menggunakan <XMLPayload> dalam kebijakan, header Content-Type permintaan harus berjenis konten XML seperti application/xml atau text/xml.

  • Elemen <JSONPayload>: Menentukan bahwa informasi perlu diekstrak dari payload JSON dan dievaluasi berdasarkan ekspresi reguler yang disediakan.

    Jika Anda menggunakan <JSONPayload> dalam kebijakan, header Content-Type permintaan harus berjenis konten JSON seperti application/json.

Biasanya Anda mendesain API untuk menerima XML atau JSON. Namun, mungkin ada skenario saat API menerima keduanya. Anda kemudian dapat menentukan kebijakan Perlindungan Ekspresi Reguler yang menggunakan elemen <XMLPayload> dan <JSONPayload>. Hanya satu elemen yang akan diterapkan untuk permintaan tertentu berdasarkan nilai header Content-Type.

Referensi elemen

Referensi elemen menjelaskan elemen dan atribut kebijakan 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>

Atribut <RegularExpressionProtection>

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

Tabel berikut menjelaskan atribut yang sama untuk semua elemen induk kebijakan:

Atribut Deskripsi Default Kehadiran
name

Nama internal kebijakan. Nilai atribut name dapat berisi huruf, angka, spasi, tanda hubung, garis bawah, dan titik. Nilai ini tidak boleh melebihi 255 karakter.

Atau, gunakan elemen <DisplayName> untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

T/A Diperlukan
continueOnError

Setel ke false untuk menampilkan error jika kebijakan gagal. Ini adalah perilaku yang wajar untuk sebagian besar kebijakan.

Setel ke true agar eksekusi alur tetap berlanjut bahkan setelah kebijakan gagal. Lihat juga:

false Opsional
enabled

Setel ke true untuk menerapkan kebijakan.

Setel ke false untuk menonaktifkan kebijakan. Kebijakan tidak akan diterapkan meskipun tetap melekat pada alur.

true Opsional
async

Atribut ini sudah tidak digunakan lagi.

false Tidak digunakan lagi

Elemen <DisplayName>

Gunakan selain atribut name untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

<DisplayName>Policy Display Name</DisplayName>
Default

T/A

Jika Anda menghapus elemen ini, nilai atribut name kebijakan akan digunakan.

Kehadiran Opsional
Jenis String

Elemen <Source>

Menunjukkan pesan tempat informasi yang perlu diekstrak.

Jika elemen <Source> dihilangkan, nilai akan ditetapkan secara default ke message. Misalnya, <Source>message</Source>. Jika ditetapkan ke message, kebijakan akan menggunakan pesan permintaan sebagai sumber saat dilampirkan ke alur permintaan. Demikian pula, kebijakan tersebut menggunakan pesan respons saat dilampirkan ke alur respons.

Jika pesan sumber tidak dapat diselesaikan atau jika di-resolve menjadi jenis non-pesan, kebijakan akan menampilkan error.

<Source>response</Source>
Default: T/A
Kehadiran: Opsional
Jenis: String

Elemen <IgnoreUnresolvedVariables>

Menentukan apakah kebijakan menampilkan error saat menemukan variabel yang tidak dapat diselesaikan.

Jika ditetapkan ke false (default), kebijakan akan menampilkan error saat ditemukan variabel yang tidak dapat di-resolve. Jika ditetapkan ke true, variabel yang belum terselesaikan akan diperlakukan sebagai string kosong (Null).

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
Default: false
Kehadiran: Opsional
Jenis: Boolean

Elemen <URIPath>

Menentukan bahwa informasi perlu diekstrak dari jalur URI permintaan dan dievaluasi berdasarkan ekspresi reguler yang disediakan. Anda harus menyediakan minimal satu elemen <Pattern> yang menentukan pola ekspresi reguler agar cocok.

<URIPath>
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</URIPath>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Elemen <QueryParam>

Menentukan bahwa informasi perlu diekstrak dari parameter kueri permintaan dan dievaluasi berdasarkan ekspresi reguler yang diberikan. Anda harus menyediakan minimal satu elemen <Pattern> yang menentukan pola ekspresi reguler agar cocok.

<QueryParam name="a-query-param">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</QueryParam>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Atribut

Atribut Deskripsi Default Kehadiran
name Nama parameter kueri permintaan yang informasinya perlu diekstrak untuk evaluasi terhadap ekspresi reguler yang diberikan. T/A Diperlukan

Elemen <Header>

Menentukan bahwa informasi perlu diekstrak dari header permintaan dan respons serta dievaluasi berdasarkan ekspresi reguler yang disediakan. Anda harus menyediakan minimal satu elemen <Pattern> yang menentukan pola ekspresi reguler agar cocok.

<Header name="a-header">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</Header>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Atribut

Atribut Deskripsi Default Kehadiran
name

Nama header permintaan dan respons yang informasinya perlu diekstrak untuk evaluasi ekspresi reguler yang diberikan.

T/A Diperlukan

Elemen <FormParam>

Menentukan bahwa informasi perlu diekstrak dari parameter formulir permintaan dan dievaluasi berdasarkan ekspresi reguler yang diberikan. Anda harus menyediakan minimal satu elemen <Pattern> yang menentukan pola ekspresi reguler agar cocok.

<FormParam name="a-form-param">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>     
</FormParam>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Atribut

Atribut Deskripsi Default Kehadiran
name

Nama parameter formulir permintaan yang informasinya perlu diekstrak untuk evaluasi terhadap ekspresi reguler yang diberikan.

T/A Diperlukan

Elemen <Variable>

Menentukan bahwa informasi harus diekstrak dari variabel yang ditentukan dan dievaluasi berdasarkan ekspresi reguler yang diberikan.

<Variable name="request.content">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</Variable>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Atribut

Atribut Deskripsi Default Kehadiran
name

Nama variabel yang informasinya perlu diekstrak untuk evaluasi berdasarkan ekspresi reguler yang diberikan.

T/A Diperlukan

Elemen <XMLPayload>

Menentukan bahwa informasi perlu diekstrak dari payload XML dan dievaluasi berdasarkan ekspresi reguler yang disediakan.

<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>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Elemen <XMLPayload>/<Namespaces>

Menentukan namespace yang akan digunakan dalam evaluasi 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>
Default: T/A
Kehadiran: Opsional
Jenis: String

Elemen <XMLPayload>/<Namespaces>/<Namespace>

Menentukan setiap namespace yang akan digunakan dalam evaluasi XPath.
<Namespaces>
   <Namespace prefix="apigee">http://www.apigee.com</Namespace>
</Namespaces>
Default: T/A
Kehadiran: Opsional
Jenis: String

Atribut

Atribut Deskripsi Default Kehadiran
imbuhan

Menyediakan awalan untuk membantu memenuhi syarat namespace yang ditentukan.

T/A Diperlukan

Elemen <XMLPayload>/<XPath>

Menentukan XPath yang akan dievaluasi.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Elemen <XMLPayload>/<XPath>/<Expression>

Menentukan ekspresi XPath yang ditentukan untuk variabel. Hanya ekspresi XPath 1.0 yang didukung. Misalnya, <Expression>/company/employee[@age>=$request.header.age]</Expression> mengekstrak detail untuk karyawan yang usianya lebih besar dari atau sama dengan nilai yang ditentukan dalam request.header.age.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Default: T/A
Kehadiran: Opsional
Jenis: String

Elemen <XMLPayload>/<XPath>/<Type>

Menentukan jenis data output yang diinginkan.

Biasanya Anda akan menggunakan "string" atau "nodeset". Gunakan "string" jika Anda yakin bahwa kueri xpath akan menghasilkan maksimal satu nilai, atau jika ingin memeriksa maksimal satu nilai. Jika kueri xpath Anda dapat mengembalikan beberapa nilai, tentukan "nodeset" untuk memeriksa semua nilai.

Misalnya, pertimbangkan ekspresi XPath //*/@*. Atribut ini cocok dengan semua atribut di semua elemen. Jika Anda menetapkan "string" sebagai Type, Apigee akan memaksa hasil kueri ini ke satu string; nilai tersebut akan menjadi nilai salah satu atribut pada salah satu elemen dalam dokumen XML, tetapi atribut mana dan elemen mana yang tidak ditentukan. Apigee kemudian akan melakukan pencocokan pola dengan nilai dari satu atribut tersebut saja. Mungkin bukan ini yang Anda inginkan.

Sebaliknya, jika Anda menentukan "nodeset" sebagai Type untuk ekspresi XPath tersebut, Apigee akan melakukan pencocokan pola terhadap setiap nilai atribut pada setiap elemen dalam dokumen XML.

<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Default: string
Kehadiran: Opsional
Jenis: String
Nilai yang valid:

Salah satu dari kata kunci berikut: string, boolean, int, long, float, double, dan nodeset.

Elemen <XMLPayload>/<XPath>/<Pattern>

Mendefinisikan pola ekspresi reguler. Jika ekspresi reguler dalam elemen <Pattern> Anda menyertakan karakter yang dicadangkan XML (", &, ', <, atau .), Anda harus mengenkodenya ke XML sebelum menyertakannya.

<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Default: T/A
Kehadiran: Diperlukan
Jenis: String

Elemen <JSONPayload>

Menentukan bahwa informasi perlu diekstrak dari payload JSON dan dievaluasi berdasarkan ekspresi reguler yang disediakan.

<JSONPayload>
   <JSONPath>
      <Expression>$.store.book[*].author</Expression>
      <Pattern>REGEX PATTERN</Pattern>
      <Pattern>REGEX PATTERN</Pattern>
   </JSONPath>
</JSONPayload>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Atribut

Atribut Deskripsi Default Kehadiran
escapeSlashCharacter

Tetapkan ke true untuk meng-escape karakter garis miring (/) dalam ekspresi reguler di <JSONPath>/<Pattern>.

true Opsional

Elemen <JSONPayload>/<JSONPath>/<Expression>

Menentukan ekspresi JSONPath yang ditentukan untuk variabel.

<JSONPath>
   <Expression>$.store.book[*].author</Expression>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</JSONPath>
Default: T/A
Kehadiran: Opsional
Jenis: String

Elemen <JSONPayload>/<JSONPath>/<Pattern>

Mendefinisikan pola ekspresi reguler. Jika ekspresi reguler dalam elemen <Pattern> menyertakan karakter yang dicadangkan XML (", &, ', <, atau .), Anda harus mengenkodenya ke XML sebelum menyertakannya.

<JSONPath>
   <Expression>$.store.book[*].author</Expression>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</JSONPath>
Default: T/A
Kehadiran: Diperlukan
Jenis: String

Referensi error

Bagian ini menjelaskan kode dan pesan error yang ditampilkan, serta variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Jika ingin menangkap error dan melaporkan error kustom Anda sendiri, tetapkan atribut continueOnError="true" pada elemen root kebijakan. Untuk mempelajari lebih lanjut, lihat Hal yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode Error Pesan
ExecutionFailed Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1}
InstantiationFailed Failed to instantiate the RegularExpressionProtection StepDefinition {0}
NonMessageVariable Variable {0} does not resolve to a Message
SourceMessageNotAvailable {0} message is not available for RegularExpressionProtection StepDefinition {1}
ThreatDetected Regular Expression Threat Detected in {0}: regex: {1} input: {2}
VariableResolutionFailed Failed to resolve variable {0}

Error saat deployment

Kode Error Pesan Perbaikan
CannotBeConvertedToNodeset RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset. Context {2}
DuplicatePrefix RegularExpressionProtection {0}: Duplicate prefix {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: Empty JSONPath expression
EmptyXPathExpression RegularExpressionProtection {0}: Empty XPath expression
InvalidRegularExpression RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty uri
NoPatternsToEnforce RegularExpressionProtection {0}: No patterns to enforce in {1}
NothingToEnforce RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory
XPathCompilationFailed RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2}

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum pada tabel di atas. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

Skema

Topik terkait

Kebijakan Perlindungan Ancaman JSON

Kebijakan XML Threat Protection