Zasada ExpressExpressionProtection

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Co

Wyodrębnia informacje z wiadomości (np. ścieżka URI, parametr zapytania, nagłówek, parametr formularza, zmienna, ładunek XML lub ładunek JSON) i ocenia tę treść pod kątem zdefiniowanych wstępnie wyrażeń regularnych. Jeśli dowolne z określonych wyrażeń regularnych otrzyma wartość prawda, wiadomość zostanie uznana za zagrożenie i odrzucona.

Filmy

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

Wideo Opis
Ochrona przed atakami wstrzykniętymi SQL (nowa wersja Edge) Ochrona przed atakami wstrzykniętymi SQL za pomocą zasady ochrony wyrażeń regularnych w interfejsie nowego interfejsu Edge.
Ochrona przed atakami wstrzykniętymi SQL (klasyczna wersja Edge) Ochrona przed atakami wstrzykniętymi SQL za pomocą zasady ochrony wyrażeń regularnych w klasycznym interfejsie użytkownika Edge.

Sample

GitHub

Przykład zabezpieczenia przed wyrażeniami regularnymi na GitHubie pokazuje, jak przechwytywać potencjalne ataki wstrzykniętego kodu SQL wykonywane przez parametr zapytania. Przykład pokazuje też sprawdzoną metodę ustawiania ogólnego stanu błędu 400, by hakerzy nie wydobyli z odpowiedzi żadnych 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żyć zasady RegularExpressionProtection do oceny ładunków JSON pod kątem ataków JavaScript. W szczególności treści wyodrębnione przez <JSONPath>/<Expression> są porównywane z wyrażeniem regularnym w <JSONPath>/<Pattern>.

Jeśli wyrażenie regularne w <JSONPath>/<Pattern> zawiera znaki zarezerwowane w formacie XML („, &, ', < lub .), musisz je zakodować w formacie XML, zanim umieścisz je w pliku konfiguracji zasad XML. Na przykład w powyższym przykładzie wyrażenie regularne <\s*script\b[^>]*>[^<]+<\s*\/\s*script\s*> zostało zakodowane w formacie XML jako &lt;\s*script\b[^&gt;]*&gt;[^&lt;]+&lt;\s*\/\s*script\s*&gt;.

Poza tym, jeśli wyrażenie regularne zawiera ukośniki (/), musisz zmienić ich znaczenie, ustawiając dla atrybutu <JSONPayload> escapeSlashCharacter wartość true.

Dopasowywanie bez rozróżniania wielkości liter

Jest to typowy przypadek użycia w przypadku dopasowywania bez rozróżniania wielkości liter. Oto przykład, jak można to zrobić w wyrażeniu regularnym za pomocą konstruktora (?i). W tym przykładzie na przykład wartości DELETE, delete i Delete będą mieć 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óre można oceniać pod kątem ruchu interfejsu API w czasie działania w celu identyfikacji typowych zagrożeń na poziomie treści zgodnych z określonymi wzorcami.

Wyrażenie regularne (w skrócie wyrażenie regularne) to zestaw ciągów znaków określających wzorzec. Wyrażenia regularne umożliwiają automatyczną ocenę treści pod kątem wzorców. Wyrażenia regularne mogą posłużyć na przykład do sprawdzenia, czy adres e-mail ma prawidłową strukturę. Więcej informacji znajdziesz w sekcji Wyrażenia regularne w samouczku Javy.

Najczęściej używane jest RegularExpressionProtection do oceny ładunków JSON i XML pod kątem szkodliwych treści.

Żadne wyrażenie regularne nie wyeliminuje wszystkich ataków opartych na treściach, a my należy połączyć wiele mechanizmów, aby zapewnić dogłębną obronę. W tej sekcji opisujemy kilka zalecanych wzorców do wykluczania treści.

Przykładowe wzorce wykluczania

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

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

Kodowanie XML:

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

Kodowanie XML:

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

Ustawianie nagłówka Content-Type w żądaniu z ładunkiem XML lub JSON

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

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

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

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

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

Zazwyczaj projektujesz interfejs API tak, by akceptował XML lub JSON. Może się jednak zdarzyć, że interfejs API zaakceptuje oba te elementy. Następnie możesz zdefiniować zasadę ochrony wyrażeń regularnych, która będzie zawierać zarówno elementy <XMLPayload>, jak i <JSONPayload>. Na podstawie wartości nagłówka Content-Type do określonego żądania zostanie zastosowany tylko 1 element.

Odwołanie do elementu

Dokumentacja elementów opisuje elementy i atrybuty zasady 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>

Atrybuty <RegularExpressionProtection>

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

Tabela poniżej zawiera opis atrybutów wspólnych dla wszystkich elementów nadrzędnych zasad:

Atrybut Opis Domyślne 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>, aby oznaczyć zasadę w edytorze serwera proxy interfejsu zarządzania inną nazwą w języku naturalnym.

Nie dotyczy Wymagane
continueOnError

Ustaw wartość false, aby zwracać błąd w przypadku niepowodzenia zasady. Jest to normalne działanie większości zasad.

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

false Opcjonalnie
enabled

Ustaw jako true, aby wymuszać zasadę.

Ustaw wartość false, aby wyłączyć tę zasadę. Zasada nie będzie egzekwowana, nawet jeśli pozostanie dołączona do procesu.

prawda Opcjonalnie
async

Ten atrybut został wycofany.

false Wycofano

Element <DisplayName>

Użyj oprócz atrybutu name, aby oznaczyć zasadę w edytorze serwera proxy interfejsu zarządzania inną nazwą w języku naturalnym.

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

Nie dotyczy

Jeśli pominiesz ten element, zostanie użyta wartość atrybutu name zasady.

Obecność Opcjonalnie
Typ Ciąg znaków

Element <Source>

Wskazuje komunikat, z którego należy wyodrębnić informacje.

Jeśli pominiesz element <Source>, wartość domyślna to message. Na przykład: <Source>message</Source>. Gdy ma wartość message, po dołączeniu do przepływu żądania zasada używa komunikatu żądania jako źródła. Podobnie zasada używa wiadomości z odpowiedzią dołączonej do procesu odpowiedzi.

Jeśli nie można rozwiązać problemu lub jeśli zostanie wyświetlony typ inny niż wiadomość, zasada zwraca błąd.

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

Element <IgnorujNierozpoznane zmienne>

Określa, czy zasada zwraca błąd, gdy napotka niemożliwą do rozpoznania zmienną.

Jeśli zasada ma wartość false (domyślną), w przypadku wystąpienia nierozstrzygniętej zmiennej zwracany jest błąd. Jeśli ma wartość true, nierozstrzygnięta zmienna jest traktowana jako pusty ciąg znaków (Null).

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
Domyślnie: false
Obecność: Opcjonalnie
Typ: Wartość logiczna

Element <uriPath>

Określa, że informacje trzeba wyodrębnić ze ścieżki identyfikatora URI żądania i sprawdzić je za pomocą podanych wyrażeń regularnych. Musisz podać co najmniej 1 element <Pattern> z określonym wzorcem dopasowania wyrażenia regularnego.

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

Element <QueryParam>

Określa, że informacje muszą zostać wyodrębnione z parametru zapytania żądania i oceniane na podstawie podanych wyrażeń regularnych. Musisz podać co najmniej 1 element <Pattern> z określonym wzorcem dopasowania wyrażenia regularnego.

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

Atrybuty

Atrybut Opis Domyślne Obecność
nazwa Nazwa parametru zapytania żądania, z którego trzeba wyodrębnić informacje do oceny pod kątem podanych wyrażeń regularnych. Nie dotyczy Wymagane

Element <Header>

Określa, że informacje muszą zostać wyodrębnione z nagłówków żądania i odpowiedzi oraz oceniane na podstawie podanych wyrażeń regularnych. Musisz podać co najmniej 1 element <Pattern> z określonym wzorcem dopasowania wyrażenia regularnego.

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

Atrybuty

Atrybut Opis Domyślne Obecność
nazwa

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

Nie dotyczy Wymagane

Element <FormParam>

Określa, że informacje trzeba wyodrębnić z parametru formularza żądania i sprawdzić je za pomocą podanych wyrażeń regularnych. Musisz podać co najmniej 1 element <Pattern> z określonym wzorcem dopasowania wyrażenia regularnego.

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

Atrybuty

Atrybut Opis Domyślne Obecność
nazwa

Nazwa parametru formularza żądania, z którego należy wyodrębnić informacje do oceny pod kątem podanych wyrażeń regularnych.

Nie dotyczy Wymagane

Element <Zmienna>

Określa, że informacje trzeba wyodrębnić z danej zmiennej i ocenić na podstawie podanych wyrażeń regularnych.

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

Atrybuty

Atrybut Opis Domyślne Obecność
nazwa

Nazwa zmiennej, z której trzeba wyodrębnić informacje do oceny pod kątem podanych wyrażeń regularnych.

Nie dotyczy Wymagane

Element <XMLPayload>

Określa, że informacje muszą zostać wyodrębnione z ładunku XML i ocenione za pomocą dostępnych wyrażeń regularnych.

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

Element <XMLPayload>/<Namespaces>

Określa przestrzenie nazw do użycia 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ślnie: Nie dotyczy
Obecność: Opcjonalnie
Typ: Ciąg znaków

Element <XMLPayload>/<przestrzenie nazw>/<przestrzeni nazw>

Określa każdą przestrzeń nazw, która ma być używana w ocenie XPath.
<Namespaces>
   <Namespace prefix="apigee">http://www.apigee.com</Namespace>
</Namespaces>
Domyślnie: Nie dotyczy
Obecność: Opcjonalnie
Typ: Ciąg znaków

Atrybuty

Atrybut Opis Domyślne Obecność
prefiks

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

Nie dotyczy Wymagane

Element <XMLPayload>/<XPath>

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

Element <XMLPayload>/<XPath>/<Expression>

Określa wyrażenie XPath zdefiniowane dla zmiennej. Obsługiwane są tylko wyrażenia XPath 1.0. Na przykład funkcja <Expression>/company/employee[@age>=$request.header.age]</Expression> wyodrębnia szczegóły pracowników, których wiek jest co najmniej równy wartości podanej we właściwości request.header.age.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Domyślnie: Nie dotyczy
Obecność: Opcjonalnie
Typ: Ciąg znaków

Element <XMLPayload>/<XPath>/<Type>

Określa typ danych.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Domyślnie: 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.

Element <XMLPayload>/<XPath>/<Pattern>

Definiuje wzorzec wyrażenia regularnego. Jeśli wyrażenie regularne w elemencie <Pattern> zawiera znaki zarezerwowane w formacie XML („, &, ', < lub .), przed jego umieszczeniem musisz zakodować je w formacie XML.

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

Element <JSONPayload>

Określa, że informacje trzeba wyodrębnić z ładunku JSON i ocenić za pomocą podanych wyrażeń regularnych.

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

Atrybuty

Atrybut Opis Domyślne Obecność
escapeSlashCharacter

Ustaw jako true, by zmienić znaczenie ukośnika (/) w wyrażeniach regularnych w <JSONPath>/<Pattern>.

prawda Opcjonalnie

Element <JSONPayload>/<JSONPath>/<Expression>

Określa wyrażenie JSONPath zdefiniowane dla zmiennej.

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

Element <JSONPayload>/<JSONPath>/<Wzorzec>

Definiuje wzorzec wyrażenia regularnego. Jeśli wyrażenie regularne w elemencie <Pattern> zawiera znaki zarezerwowane w formacie XML („, &, ', < lub .), przed jego umieszczeniem musisz zakodować je w formacie XML.

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

Informacje o błędach

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

Zasada ochrony przed zagrożeniami JSON

Zasada ochrony przed zagrożeniami XML