Zasada ExpressExpressionProtection

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Co

Wyodrębnia informacje z wiadomości (na przykład Ścieżka URI, parametr zapytania, nagłówek, parametr formularza, zmiennej, XML Payload lub JSON Payload) i ocenia tę treść w porównaniu ze wstępnie zdefiniowanym zwykłym. wyrażeń. Jeśli określone wyrażenia regularne mają wartość prawda, wiadomość jest traktowana jako i zostanie odrzucone.

Filmy

Aby dowiedzieć się więcej o zasadach ochrony wyrażeń regularnych, obejrzyj poniższe filmy.

Wideo Opis
Ochrona przed atakami typu wstrzykiwanie kodu SQL (New Edge) Ochrona przed atakami typu wstrzykiwanie kodu SQL przy użyciu zasady ochrony wyrażeń regularnych w interfejsu nowej wersji Edge.
Ochrona przed atakami typu wstrzykiwanie kodu SQL (Classic Edge) Ochrona przed atakami typu wstrzykiwanie kodu SQL przy użyciu zasady ochrony wyrażeń regularnych w klasycznego interfejsu Edge.

Przykłady

GitHub

Stosuje zabezpieczenia regularne przykład z GitHuba pokazuje, jak przechwytywać potencjalne ataki polegające na wstrzykiwaniu kodu SQL za pomocą parametru zapytania. Ten przykład pokazuje też dobrą praktykę ustawiania ogólnej wartości 400, aby hakerzy nie uzyskali z odpowiedzi przydatnych informacji.

JavaScript obejmuje ochronę przed atakami

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

Przykład powyżej pokazuje, jak używać zasady RegularExpressionProtection do oceny Ładunki JSON używane w języku JavaScript obejmują ataki. Konkretnie chodzi tu o treści wyodrębnione przez <JSONPath>/<Expression> jest oceniany w oparciu o wyrażenie regularne w formacie <JSONPath>/<Pattern>.

Jeśli wyrażenie regularne w parametrze Kod <JSONPath>/<Pattern> zawiera znaki zarezerwowane dla formatu XML (", &, ', < lub .), musisz go zakodować w formacie XML przed umieszczeniem go w pliku XML zasad . W przykładzie powyżej wyrażenie regularne Poprzednia wartość „<\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*>” to Zakodowany w formacie XML jako &lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*\/\s*script\s*&gt;

Ponadto, jeśli wyrażenie regularne zawiera ukośniki (/), musisz użyć znaku zmiany znaczenia je, ustawiając <JSONPayload> escapeSlashCharacter do wartości true.

Dopasowanie bez rozróżniania wielkości liter

Częstym przypadkiem użycia jest dopasowywanie wielkości liter bez rozróżniania wielkości liter. Oto przykład, możesz to zrobić w wyrażeniu regularnym z użyciem konstrukcji (?i). W tym na przykład DELETE, delete i Delete będą wartość prawda.

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

Informacje o zasadach ochrony wyrażeń regularnych

Apigee Edge umożliwia konfigurowanie wyrażeń regularnych, których można używać oceniane na podstawie ruchu API w czasie działania w celu identyfikowania typowych zagrożeń na poziomie treści, które występują pewnych wzorców.

Wyrażenie regularne, w skrócie wyrażenie regularne, to zestaw ciągów znaków. określające wzorzec w ciągu znaków. Wyrażenia regularne umożliwiają automatyzację treści analizowanych pod kątem wzorców. Wyrażeń regularnych możesz użyć na przykład do oceny adresu e-mail. aby mieć pewność, że jest poprawnie zorganizowany. Więcej informacji znajdziesz w sekcji Zwykłe wyrażenia w samouczkach Java.

Najczęstszym zastosowaniem funkcji RegularExpressionProtection jest ocena kodu JSON i XML. pod kątem szkodliwych treści.

Żadne wyrażenie regularne nie może wyeliminować wszystkich ataków opartych na treści, a wiele mechanizmów powinien należy łączyć w celu włączenia obrony w głąb. W tej sekcji opisano kilka zalecanych wzorców wykluczając treści.

Przykładowe wykluczenie wzory

Wyrażenia regularne muszą być zakodowane w formacie XML w pliku konfiguracji zasady.

Nazwa Wyrażenie regularne
Wstrzyknięcie kodu SQL
[\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))
Wstrzyknięcie kodu Uwzględnij po stronie serwera
<!--#(include|exec|echo|config|printenv)\s+.*

Zakodowany w formacie XML:

&lt;!--#(include|exec|echo|config|printenv)\s+.*
Wstrzyknięcie skróconej składni XPath
(/(@?[\w_?\w:\*]+(\[[^]]+\])*)?)+
Wstrzykiwanie rozszerzonej składni XPath
/?(ancestor(-or-self)?|descendant(-or-self)?|following(-sibling))
Wstrzyknięcie kodu JavaScript
<\s*script\b[^>]*>[^<]+<\s*/\s*script\s*>

Zakodowany w formacie XML:

&lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*/\s*script\s*&gt;
Wstrzykiwanie wyjątków Javy
.*?Exception in thread.*

Ustaw nagłówek Content-Type w żądaniu z ładunkiem XML lub JSON

Ładunek zasady ochrony wyrażeń regularnych może zawierać te elementy: elementy:

  • Element <XMLPayload>: określa, że należy wyodrębnić informacje ładunek XML i ocenić go w oparciu o podane wyrażenie regularne.

    Jeśli w zasadzie używasz atrybutu <XMLPayload>, Nagłówek Content-Type żądania musi być typem zawartości XML, takim jak application/xml lub text/xml.

  • Element <JSONPayload>: określa, że należy wyodrębnić informacje z ładunku JSON i ocenić za pomocą podanego wyrażenia regularnego.

    Jeśli w zasadzie używasz atrybutu <JSONPayload>, Nagłówek Content-Type żądania musi być typem treści JSON takim jak application/json

Zwykle projektujesz interfejs API w taki sposób, aby akceptował on format XML lub JSON. Istnieje jednak sytuacja, w których interfejs API akceptuje oba te typy. Możesz następnie zdefiniować zasadę ochrony wyrażeń regularnych. z elementami <XMLPayload> i <JSONPayload>. Do konkretnego żądania na podstawie wartości atrybutu Nagłówek Content-Type.

Odwołanie do elementu

Odwołanie do elementu opisuje elementy i atrybuty elementu 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; atrybuty

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

W tej tabeli opisano atrybuty wspólne dla wszystkich elementów nadrzędnych zasad:

Atrybut Opis Domyślny Obecność
name

Wewnętrzna nazwa zasady. Wartość atrybutu name może zawierać litery, cyfry, spacje, łączniki, podkreślenia i kropki. Ta wartość nie może przekracza 255 znaków.

Opcjonalnie możesz użyć elementu <DisplayName> do oznaczenia zasady jako edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.

Nie dotyczy Wymagane
continueOnError

Ustaw jako false, aby w przypadku niepowodzenia zasady zwracany był błąd. To normalne w przypadku większości zasad.

Ustaw jako true, aby wykonywanie przepływu było kontynuowane nawet po zastosowaniu zasady niepowodzenie.

fałsz Opcjonalnie
enabled

Aby egzekwować zasadę, ustaw wartość true.

Aby wyłączyć zasadę, ustaw wartość false. Te zasady nie będą jest wymuszane nawet wtedy, gdy jest ono połączone z przepływem.

prawda Opcjonalnie
async

Ten atrybut został wycofany.

fałsz Wycofano

&lt;DisplayName&gt; element

Używaj oprócz atrybutu name do oznaczania zasady w edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.

<DisplayName>Policy Display Name</DisplayName>
Domyślny

Nie dotyczy

Jeśli pominiesz ten element, atrybut name zasady otrzyma wartość .

Obecność Opcjonalnie
Typ Ciąg znaków

&lt;Source&gt; element

Wskazuje wiadomość, z której należy wyodrębnić informacje.

Jeśli element <Source> zostanie pominięty, domyślną wartością jest message Na przykład: <Source>message</Source>. Po ustawieniu na message, zasada używa wiadomości z żądaniem jako źródła po dołączeniu do żądania przepływu danych. Podobnie zasada korzysta z odpowiedzi, gdy jest dołączona do procesu odpowiedzi.

Jeśli nie można znaleźć komunikatu źródłowego lub przechodzi on w typie innym niż wiadomość, zasada zwraca błąd.

<Source>response</Source>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Ciąg znaków

&lt;IgnoreUnresolvedVariables&gt; element

Określa, czy zasada zwraca błąd po napotkaniu zmiennej, która jest nierozwiązalne.

Jeśli ma wartość false (domyślna), zasada zwraca błąd w przypadku braku rozwiązania . Jeśli ma wartość true, nierozstrzygnięta zmienna jest traktowana jako pusta ciąg znaków (wartość null).

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
Domyślne: fałsz
Obecność: Opcjonalnie
Typ: Wartość logiczna

&lt;URIPath&gt; element

Określa, że informacje muszą zostać wyodrębnione ze ścieżki identyfikatora URI żądania i oceniane z podanymi wyrażeniami regularnymi. Musisz podać co najmniej jeden Element <Pattern> określający wzorzec wyrażenia regularnego do dopasowania.

<URIPath>
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</URIPath>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Nie dotyczy

&lt;QueryParam&gt; element

Określa, że informacje muszą zostać wyodrębnione z parametru zapytania żądania i jest oceniana na podstawie podanych wyrażeń regularnych. Musisz podać co najmniej jeden Element <Pattern> określający wzorzec wyrażenia regularnego do dopasowania.

<QueryParam name="a-query-param">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</QueryParam>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Nie dotyczy

Atrybuty

Atrybut Opis Domyślny Obecność
nazwa Nazwa parametru zapytania żądania, z którego należy wyodrębnić informacje na podstawie podanych wyrażeń regularnych. Nie dotyczy Wymagane

&lt;Header&gt; element

określa, że informacje muszą zostać wyodrębnione z nagłówków żądania i odpowiedzi oraz jest oceniana na podstawie podanych wyrażeń regularnych. Musisz podać co najmniej jeden Element <Pattern> określający wzorzec wyrażenia regularnego do dopasowania.

<Header name="a-header">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</Header>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Nie dotyczy

Atrybuty

Atrybut Opis Domyślny Obecność
nazwa

Nazwa nagłówka żądania i odpowiedzi, z którego należy wyodrębnić informacje do oceny na podstawie podanych wyrażeń regularnych.

Nie dotyczy Wymagane

&lt;FormParam&gt; element

Określa, że informacje muszą zostać wyodrębnione z parametru formularza żądania i oceniane z podanymi wyrażeniami regularnymi. Musisz podać co najmniej jeden Element <Pattern> określający wzorzec wyrażenia regularnego do dopasowania.

<FormParam name="a-form-param">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</FormParam>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Nie dotyczy

Atrybuty

Atrybut Opis Domyślny Obecność
nazwa

Nazwa parametru formularza żądania, z którego należy wyodrębnić informacje na podstawie podanych wyrażeń regularnych.

Nie dotyczy Wymagane

&lt;Variable&gt; element

Określa, że informacje muszą zostać wyodrębnione z danej zmiennej i oceniane w odniesieniu do z podanych wyrażeń regularnych.

<Variable name="request.content">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</Variable>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Nie dotyczy

Atrybuty

Atrybut Opis Domyślny Obecność
nazwa

Nazwa zmiennej, z której należy wyodrębnić informacje na potrzeby oceny z podanymi wyrażeniami regularnymi.

Nie dotyczy Wymagane

&lt;XMLPayload&gt; element

Określa, że informacje muszą zostać wyodrębnione z ładunku XML i oceniane w odniesieniu do wyrażenia regularne.

<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>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Nie dotyczy

&lt;XMLPayload&gt;/&lt;Namespaces&gt; element

Określa przestrzenie nazw, które mają być używane podczas oceny 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>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Ciąg znaków

&lt;XMLPayload&gt;/&lt;Namespaces&gt;/&lt;Namespace&gt; element

Określa każdą przestrzeń nazw do używane do oceny XPath.
<Namespaces>
   <Namespace prefix="apigee">http://www.apigee.com</Namespace>
</Namespaces>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Ciąg znaków

Atrybuty

Atrybut Opis Domyślny Obecność
prefiks

Zawiera prefiks ułatwiający kwalifikowanie danej przestrzeni nazw.

Nie dotyczy Wymagane

&lt;XMLPayload&gt;/&lt;XPath&gt; element

Określa ścieżkę XPath do oceny.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Nie dotyczy

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Expression&gt; element

Określa wyrażenie XPath zdefiniowane dla zmiennej. Tylko wyrażenia XPath 1.0 są obsługiwane. Przykład: <Expression>/company/employee[@age>=$request.header.age]</Expression> wyodrębnia informacje o pracownikach, których wiek jest równa wartości określonej w request.header.age
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Ciąg znaków

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Type&gt; element

Określa typ danych.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Domyślne: ciąg znaków
Obecność: Opcjonalnie
Typ: Ciąg znaków
Prawidłowe wartości:

Ciąg tekstowy. Prawidłowe wartości to string, boolean, int, long, float, double i nodeset

&lt;XMLPayload&gt;/&lt;XPath&gt;/&lt;Pattern&gt; element

Definiuje wzorzec wyrażenia regularnego. Jeśli wyrażenie regularne w argumencie element<Pattern> zawiera znaki zarezerwowane przez XML (", &, ', < lub ), musisz go zakodować w formacie XML przed dołączeniem.

<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Domyślne: Nie dotyczy
Obecność: Wymagane
Typ: Ciąg znaków

&lt;JSONPayload&gt; element

Określa, że informacje muszą zostać wyodrębnione z ładunku JSON i oceniane w odniesieniu do wyrażenia regularne.

<JSONPayload>
   <JSONPath>
      <Expression>$.store.book[*].author</Expression>
      <Pattern>REGEX PATTERN</Pattern>
      <Pattern>REGEX PATTERN</Pattern>
   </JSONPath>
</JSONPayload>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Nie dotyczy

Atrybuty

Atrybut Opis Domyślny Obecność
escapeSlashCharacter

Ustaw jako true, aby poprzedzać ukośniki (/) w standardzie zwykłym wyrażenia w <JSONPath>/<Pattern>.

prawda Opcjonalnie

&lt;JSONPayload&gt;/&lt;JSONPath&gt;/&lt;Expression&gt; element

Określa wyrażenie JSONPath zdefiniowane dla zmiennej.

<JSONPath>
   <Expression>$.store.book[*].author</Expression>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</JSONPath>
Domyślne: Nie dotyczy
Obecność: Opcjonalnie
Typ: Ciąg znaków

&lt;JSONPayload&gt;/&lt;JSONPath&gt;/&lt;Pattern&gt; element

Definiuje wzorzec wyrażenia regularnego. Jeśli wyrażenie regularne w parametrze Element <Pattern> zawiera znaki zarezerwowane w formacie XML (", &, ', < lub .), musisz go zakodować w formacie XML, zanim go umieścisz.

<JSONPath>
   <Expression>$.store.book[*].author</Expression>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</JSONPath>
Domyślne: Nie dotyczy
Obecność: Wymagane
Typ: Ciąg znaków

Informacje o błędzie

W tej sekcji opisujemy kody błędów, zwracane komunikaty i zmienne błędów ustawione przez Edge, gdy ta zasada wywołuje błąd. Te informacje są ważne, aby wiedzieć, czy opracowujesz reguły dotyczące błędów w przypadku błędów. Jeśli chcesz przechwycić błąd i zgłosić własny błąd niestandardowy, ustaw atrybut continueOnError="true" w głównym elemencie zasad. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.

Błędy zwracane z zasad Edge mają spójny format opisany w Informacjach na temat kodów błędów.

Błędy w czasie wykonywania

Te błędy mogą wystąpić podczas wykonywania zasady.

Kod błędu przekaz,
ExecutionFailed Nie udało się wykonać definicji kroku RegularExpressionProtection {0}. Przyczyna: {1}
InstantiationFailed Nie udało się utworzyć instancji kroku definicji kroku RegularExpressionProtection {0}
NonMessageVariable Zmienna {0} nie przyjmuje wartości do komunikatu
SourceMessageNotAvailable Komunikat {0} nie jest dostępny dla określenia kroków definicji kroków RegularExpressionProtection {1}
ThreatDetected Wykryto zagrożenie związane z wyrażeniem regularnym w {0}: wyrażenie regularne: {1} wejściowe: {2}
VariableResolutionFailed Nie udało się znaleźć zmiennej {0}

Błędy wdrażania

Kod błędu przekaz, Napraw
CannotBeConvertedToNodeset RegularExpressionProtection {0}: wynik funkcji xpath {1} nie może zostać przekonwertowany na zbiór węzłów. Kontekst {2}
DuplicatePrefix RegularExpressionProtection {0}: zduplikowany prefiks {1}
EmptyJSONPathExpression RegularExpressionProtection{0}: puste wyrażenie JSONPath
EmptyXPathExpression RegularExpressionProtection{0}: puste wyrażenie XPath
InvalidRegularExpression RegularExpressionProtection {0}: nieprawidłowe wyrażenie regularne {1}, kontekst {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: nie udało się skompilować obiektu jsonpath {1}. Kontekst {2}
NONPusty przedrostek mapowany do pustego identyfikatora URI RegularExpressionProtection {0}: niepustego prefiksu {1} nie można zmapować na pusty identyfikator URI
NoPatternsToEnforce RegularExpressionProtection {0}: brak wzorców do wyegzekwowania w {1}
NothingToEnforce RegularExpressionProtection{0}: co najmniej jedna z tych wartości: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload
XPathCompilationFailed RegularExpressionProtection {0}: nie udało się skompilować pliku xpath {1}. Kontekst {2}

Zmienne błędów

Te zmienne są ustawiane, gdy zasada wywołuje błąd. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z naruszeniem zasad.

Zmienne Gdzie Przykład
fault.name="fault_name" fault_name to nazwa błędu podana w tabeli powyżej. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

Schematy

Powiązane artykuły

Zagrożenie w JSON Zasady ochrony

Zagrożenie w formacie XML Zasady ochrony