RegularExpressionProtection-Richtlinie

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Richtliniensymbol

Was

Extrahiert Informationen aus einer Nachricht (z. B. URI-Pfad, Abfrageparameter, Header, Formular-Parameter, Variable, XML-Nutzlast oder JSON-Nutzlast) und wertet diesen Inhalt anhand von vordefinierten regulären Ausdrücken aus. Wenn welche der angegebenen regulären Ausdrücke als "true" ausgewertet werden, gilt die Nachricht als Bedrohung und die Richtlinie gibt einen Fehler aus.

Diese Richtlinie ist eine erweiterbare Richtlinie, deren Verwendung je nach Apigee-Lizenz Auswirkungen auf die Kosten oder die Nutzung haben kann. Informationen zu Richtlinientypen und Auswirkungen auf die Nutzung finden Sie unter Richtlinientypen.

Videos

Im folgenden Video erfahren Sie mehr über die RegularExpressionProtection-Richtlinie.

Video Beschreibung
Schutz vor Angriffen mit SQL-Einschleusung Schutz vor Angriffen mit SQL-Einschleusung mithilfe der RegularExpressionProtection-Richtlinie in der Apigee-UI.

Beispiele

GitHub

Im Beispiel regex-protection auf GitHub wird gezeigt, wie Sie potenzielle SQL-Injection-Angriffe abfangen, die über einen Abfrageparameter ausgegeben wurden und schädlichen Code in einem <script>-Tag enthalten können. Darüber hinaus wird in dem Beispiel gezeigt, wie ein allgemeiner 400-Fehlerstatus festgelegt wird, um zu verhindern, dass Hacker nützliche Informationen aus der Antwort erhalten.

JavaScript mit Angriffsschutz

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

Das obige Beispiel veranschaulicht die Verwendung der Richtlinie "RegularExpressionProtection" zur Bewertung von JSON-Nutzlasten hinsichtlich JavaScript-include-Angriffe. Insbesondere wird der von <JSONPath>/<Expression> extrahierte Inhalt mit dem regulären Ausdruck in <JSONPath>/<Pattern> abgeglichen.

Wenn der reguläre Ausdruck in <JSONPath>/<Pattern> XML-reservierte Zeichen enthält (", &, ', < oder >), müssen Sie ihn in einen SCORE-Abschnitt (Zeichendaten) einschließen, wie im Beispiel oben gezeigt, oder die reservierten Zeichen mit XML codieren. Ersetzen Sie beispielsweise < durch &lt; und > durch &gt;.

Wenn Ihr regulärer Ausdruck Schrägstriche (/) enthält, müssen Sie diese außerdem maskieren, indem Sie das escapeSlashCharacter-Attribut <JSONPayload> auf true setzen.

Übereinstimmungen ohne Beachtung der Groß-/Kleinschreibung

Dies ist ein häufiger Anwendungsfall, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird. Dieses Beispiel zeigt, wie Sie dies mit dem Konstrukt (?i) in einem regulären Ausdruck erreichen. In diesem Beispiel werden beispielsweise DELETE, delete und Delete als wahr ausgewertet.

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

Formularparameterprüfungen

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

Diese RegularExpressionProtection-Richtlinienkonfiguration prüft Formularparameter auf das Vorkommen von Sonderzeichen innerhalb der Menge [-+=$%&]. Diese Richtlinie wirkt sich nur dann aus, wenn der Inhaltstyp-Header in der Anfrage application/x-www-form-urlencoded ist. Die Richtlinienkonfiguration verwendet einen CDATA-Abschnitt (Zeichendaten-Abschnitt), um die regulären Ausdrücke zu verpacken, da das Zeichen & in XML eine Besonderheit darstellt.


Über die Regular Expression Protection-Richtlinie

Mit Apigee können Sie reguläre Ausdrücke konfigurieren, die in Abhängigkeit vom API-Traffic ausgewertet werden können, um häufige Bedrohungen auf Inhaltsebene zu erkennen, die bestimmten Mustern folgen.

Ein regulärer Ausdruck, kurz Regex, ist eine Reihe von Strings, die ein Muster in einem String angeben. Mit regulären Ausdrücken können Inhalte programmatisch nach Mustern ausgewertet werden. Mit regulären Ausdrücken lässt sich beispielsweise eine E-Mail-Adresse auf ihre korrekte Struktur prüfen. Weitere Informationen finden Sie unter Reguläre Ausdrücke in den Java-Anleitungen.

Die häufigste Verwendung von RegularExpressionProtection ist die Auswertung von JSON- und XML-Nutzlasten auf schädliche Inhalte.

Kein regulärer Ausdruck kann alle inhaltsbasierten Angriffe eliminieren und mehrere Mechanismen sollten zu einem umfassenden Schutz kombiniert werden. In diesem Abschnitt werden einige empfohlene Muster zum Ausschließen von Inhalten beschrieben.

Beispiel für Ausschlussmuster

Reguläre Ausdrücke müssen in der XML-Konfigurationsdatei der Richtlinie XML-codiert sein. Siehe auch Anti-Pattern: Gierige Quantifizierer in der Richtlinie RegularExpressionProtection verwenden.

Name Regulärer Ausdruck
SQL-Einschleusung
[\s]*((delete)|(exec)|(drop\s*table)|(insert)|(shutdown)|(update)|(\bor\b))
Server-Side Include-Einschleusung
<!--#(include|exec|echo|config|printenv)\s+.*

XML-codiert:

&lt;!--#(include|exec|echo|config|printenv)\s+.*
XPath-abgekürzte Syntax-Einschleusung
(/(@?[\w_?\w:\*]+(\[[^]]+\])*)?)+
Erweiterte XPath-Syntax-Einschleusung
/?(ancestor(-or-self)?|descendant(-or-self)?|following(-sibling))
JavaScript-Einschleusung
<\s*script\b[^>]*>[^<]+<\s*/\s*script\s*>

XML-codiert:

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

Content-Type-Header in einer Anfrage mit einer XML- oder JSON-Nutzlast festlegen

Die Nutzlast der Richtlinie zum Schutz vor regulären Ausdrücken kann die folgenden Elemente enthalten:

  • <XMLPayload>-Element: Gibt an, dass Informationen aus einer XML-Nutzlast extrahiert und mit dem angegebenen regulären Ausdruck abgeglichen werden müssen.

    Wenn Sie <XMLPayload> in der Richtlinie verwenden, muss der Header Content-Type der Anfrage ein XML-Inhaltstyp wie application/xml oder text/xml sein.

  • <JSONPayload>-Element: Gibt an, dass Informationen aus einer JSON-Nutzlast extrahiert und mit dem angegebenen regulären Ausdruck abgeglichen werden müssen.

    Wenn Sie <JSONPayload> in der Richtlinie verwenden, muss der Header Content-Type der Anfrage ein JSON-Inhaltstyp wie application/json sein.

In der Regel entwerfen Sie eine API, um entweder XML oder JSON zu akzeptieren. Es kann jedoch ein Szenario geben, in dem die API beides akzeptiert. Sie können dann eine Richtlinie für den Schutz vor regulären Ausdrücken definieren, in der die Elemente <XMLPayload> und <JSONPayload> verwendet werden. Basierend auf dem Wert des Headers Content-Type würde nur ein Element für eine bestimmte Anfrage angewendet werden.

Elementverweis

Der Elementverweis beschreibt die Elemente und Attribute der RegularExpressionProtection-Richtlinie.

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

<RegularExpressionProtection>-Attribute

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

In der folgenden Tabelle werden Attribute beschrieben, die für alle übergeordneten Richtlinienelemente gelten:

Attribut Beschreibung Standard Presence
name

Der interne Name der Richtlinie. Der Wert des Attributs name kann Buchstaben, Ziffern, Leerzeichen, Bindestriche, Unterstriche und Punkte enthalten. Dieser Wert darf 255 Zeichen nicht überschreiten.

Optional können Sie das Element <DisplayName> verwenden, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

Erforderlich
continueOnError

Legen Sie false fest, um einen Fehler zurückzugeben, wenn eine Richtlinie fehlschlägt. Dies ist für die meisten Richtlinien das erwartete Verhalten.

Legen Sie true fest, damit die Ablaufausführung auch nach dem Fehlschlagen einer Richtlinie fortgesetzt wird. Siehe auch:

false Optional
enabled

Setzen Sie den Wert auf true, um die Richtlinie zu erzwingen.

Legen Sie false fest, um die Richtlinie zu deaktivieren. Die Richtlinie wird nicht erzwungen, selbst wenn sie mit einem Ablauf verknüpft ist.

true Optional
async

Dieses Attribut wurde verworfen.

false Verworfen

<DisplayName>-Element

Wird zusätzlich zum Attribut name verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

<DisplayName>Policy Display Name</DisplayName>
Standard

Wenn Sie dieses Element weglassen, wird der Wert des Namensattributs name der Richtlinie verwendet.

Presence Optional
Typ String

<Source>-Element

Gibt die Nachricht an, aus der Informationen extrahiert werden sollen.

Wenn das Element <Source> weggelassen wird, wird für den Wert standardmäßig message eingesetzt. Beispiel: <Source>message</Source> Wenn message festgelegt ist, verwendet die Richtlinie die Anfragenachricht als Quelle, wenn sie an einen Anfrageablauf angehängt ist. Ebenso verwendet die Richtlinie die Antwortnachricht, wenn sie an einen Antwortablauf angehängt ist.

Wenn die Quellnachricht nicht aufgelöst werden kann oder in einen Nicht-Nachrichtentyp aufgelöst wird, gibt die Richtlinie einen Fehler zurück.

<Source>response</Source>
Standard:
Präsenz: Optional
Typ: String

<IgnoreUnresolvedVariables>-Element

Bestimmt, ob die Richtlinie einen Fehler zurückgibt, wenn eine nicht auflösbare Variable gefunden wird.

Wenn auf false (Standardeinstellung) gesetzt ist, gibt die Richtlinie einen Fehler zurück, wenn eine nicht auflösbare Variable gefunden wird. Wenn true festgelegt ist, wird die nicht aufgelöste Variable wie ein leerer String (null) behandelt.

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
Standard: false
Präsenz: Optional
Typ: Boolesch

<URIPath>-Element

Gibt an, dass Informationen aus dem Anfrage-URI-Pfad extrahiert und mit den angegebenen regulären Ausdrücken abgeglichen werden müssen. Sie müssen mindestens ein <Pattern>-Element angeben, das ein abzugleichendes Muster für reguläre Ausdrücke angibt.

<URIPath>
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</URIPath>
Standard:
Präsenz: Optional
Typ:

<QueryParam>-Element

Gibt an, dass Informationen aus dem Anfrageabfrageparameter extrahiert und mit den angegebenen regulären Ausdrücken abgeglichen werden müssen. Sie müssen mindestens ein <Pattern>-Element angeben, das ein abzugleichendes Muster für reguläre Ausdrücke angibt.

<QueryParam name="a-query-param">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</QueryParam>
Standard:
Präsenz: Optional
Typ:

Attribute

Attribut Beschreibung Standard Presence
Name Name des Anfrage-Abfrageparameter, aus dem Informationen für den Abgleich mit den angegebenen regulären Ausdrücken extrahiert werden sollen. Erforderlich

<Header>-Element

Gibt an, dass Informationen aus den Anfrage- und Antwort-Headern extrahiert und mit den angegebenen regulären Ausdrücken abgeglichen werden müssen. Sie müssen mindestens ein <Pattern>-Element angeben, das ein abzugleichendes Muster für reguläre Ausdrücke angibt.

<Header name="a-header">
  <Pattern>REGEX PATTERN</Pattern>
  <Pattern>REGEX PATTERN</Pattern>
</Header>
Standard:
Präsenz: Optional
Typ:

Attribute

Attribut Beschreibung Standard Presence
Name

Name des Anfrage- und Antwortheaders, aus dem Informationen für den Abgleich mit den angegebenen regulären Ausdrücken extrahiert werden müssen.

Erforderlich

<FormParam>-Element

Gibt an, dass Informationen aus dem Anfrageformularparameter extrahiert und mit den angegebenen regulären Ausdrücken abgeglichen werden müssen. Sie müssen mindestens ein <Pattern>-Element angeben, das ein abzugleichendes Muster für reguläre Ausdrücke angibt.

<FormParam name="a-form-param">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</FormParam>
Standard:
Präsenz: Optional
Typ:

Attribute

Attribut Beschreibung Standard Presence
Name

Name des Anfrageformularparameters, aus dem Informationen zum Abgleichen mit den angegebenen regulären Ausdrücken extrahiert werden sollen.

Erforderlich

<Variable>-Element

Gibt an, dass Informationen aus der angegebenen Variable extrahiert und mit den angegebenen regulären Ausdrücken abgeglichen werden müssen.

<Variable name="request.content">
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</Variable>
Standard:
Präsenz: Optional
Typ:

Attribute

Attribut Beschreibung Standard Presence
Name

Name der Variable, aus der Informationen für den Abgleich mit den angegebenen regulären Ausdrücken extrahiert werden sollen.

Erforderlich

<XMLPayload>-Element

Gibt an, dass Informationen aus einer XML-Nutzlast extrahiert und mit den angegebenen regulären Ausdrücken abgeglichen werden müssen.

<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>
Standard:
Präsenz: Optional
Typ:

<XMLPayload>/<Namespaces>-Element

Gibt die Namespaces an, die in der XPath-Bewertung verwendet werden sollen.

<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>
Standard:
Präsenz: Optional
Typ: String

<XMLPayload>/<Namespaces>/<Namespace>-Element

Gibt jeden Namespace an, der in der XPath-Bewertung verwendet werden soll.
<Namespaces>
   <Namespace prefix="apigee">http://www.apigee.com</Namespace>
</Namespaces>
Standard:
Präsenz: Optional
Typ: String

Attribute

Attribut Beschreibung Standard Presence
Präfix

Liefert ein Präfix, um einen bestimmten Namespace zu qualifizieren.

Erforderlich

<XMLPayload>/<XPath>-Element

Gibt den XPath an, der ausgewertet werden soll.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Standard:
Präsenz: Optional
Typ:

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

Gibt den für den Ausdruck definierten XPath an. Es werden nur XPath 1.0-Ausdrücke unterstützt. Beispielsweise extrahiert <Expression>/company/employee[@age>=$request.header.age]</Expression> Details für Mitarbeiter, deren Alter größer oder gleich dem in request.header.age angegebenen Wert ist.
<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Standard:
Präsenz: Optional
Typ: String

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

Gibt den gewünschten Ausgabedatentyp an.

Normalerweise verwenden Sie „String“ oder „NodeSet“. Verwenden Sie „String“, wenn Sie sicher sind, dass Ihre xpath-Abfrage zu maximal einem Wert führt, oder wenn Sie höchstens einen Wert prüfen möchten. Wenn Ihre xpath-Abfrage mehrere Werte zurückgeben kann, geben Sie "nodeset" an, um alle Werte zu prüfen.

Betrachten Sie beispielsweise den XPath-Ausdruck //*/@*. Sie stimmt mit allen Attributen für alle Elemente überein. Wenn Sie „String“ als Type angeben, erzwingt Apigee das Ergebnis dieser Abfrage in einem einzelnen String. Sie ist der Wert eines der Attribute für eines der Elemente im XML-Dokument, aber welches Attribut und welches Element nicht definiert ist. Apigee führt dann einen Musterabgleich mit dem Wert nur dieses Attributs durch. Das ist vermutlich nicht das, was Sie möchten.

Wenn Sie dagegen „nodeset“ als Type für diesen XPath-Ausdruck angeben, führt Apigee einen Musterabgleich für jeden der Attributwerte an jedem Element im XML-Dokument aus.

<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Standard: String
Präsenz: Optional
Typ: String
Zulässige Werte:

Eines der folgenden Keywords: string, boolean, int, long, float, double und nodeset.

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

Definiert das Muster für reguläre Ausdrücke. Wenn ein regulärer Ausdruck im Element <Pattern> Zeichen mit XML-Reservierung (", &, ', < oder .) enthält, müssen Sie sie in XML-Code codieren, bevor Sie sie hinzufügen.

<XPath>
   <Expression>/apigee:Greeting/apigee:User</Expression>
   <Type>string</Type>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</XPath>
Standard:
Präsenz: Erforderlich
Typ: String

<JSONPayload>-Element

Gibt an, dass Informationen aus einer JSON-Nutzlast extrahiert und mit den angegebenen regulären Ausdrücken abgeglichen werden müssen.

<JSONPayload>
   <JSONPath>
      <Expression>$.store.book[*].author</Expression>
      <Pattern>REGEX PATTERN</Pattern>
      <Pattern>REGEX PATTERN</Pattern>
   </JSONPath>
</JSONPayload>
Standard:
Präsenz: Optional
Typ:

Attribute

Attribut Beschreibung Standard Presence
escapeSlashCharacter

Legen Sie true fest, um alle Schrägstriche (/) in den regulären Ausdrücken in <JSONPath>/<Pattern> zu maskieren.

true Optional

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

Gibt den JSONPath-Ausdruck an, der für die Variable definiert wurde.

<JSONPath>
   <Expression>$.store.book[*].author</Expression>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</JSONPath>
Standard:
Präsenz: Optional
Typ: String

<JSONPayload>/<JSONPath>/<Pattern>

Definiert das Muster für reguläre Ausdrücke. Wenn ein regulärer Ausdruck im Element <Pattern> Zeichen mit XML-Reservierung (", &, ', < oder .) enthält, müssen Sie sie in XML-Code codieren, bevor Sie sie hinzufügen.

<JSONPath>
   <Expression>$.store.book[*].author</Expression>
   <Pattern>REGEX PATTERN</Pattern>
   <Pattern>REGEX PATTERN</Pattern>
</JSONPath>
Standard:
Präsenz: Erforderlich
Typ: String

Fehlerreferenz

In diesem Abschnitt werden die Fehlercodes und Fehlermeldungen sowie die von Apigee festgelegten Fehlervariablen beschrieben, die zurückgegeben werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Wenn Sie einen Fehler erfassen und einen eigenen benutzerdefinierten Fehler erzeugen möchten, legen Sie das Attribut continueOnError="true" für das Richtlinien-Stammelement fest. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.

Laufzeitfehler

Diese Fehler können bei Ausführung der Richtlinie auftreten.

Fehlercode Nachricht
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}

Bereitstellungsfehler

Fehlercode Nachricht Beheben
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}

Fehlervariablen

Diese Variablen werden festgelegt, wenn die Richtlinie einen Fehler auslöst. Weitere Informationen finden sich unter Was Sie über Richtlinienfehler wissen müssen.

Variablen Wo Beispiel
fault.name="fault_name" fault_name ist der Name des Fehlers, der in der Tabelle oben aufgeführt ist. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

Schemas

Weitere Informationen

JSON Threat Protection-Richtlinie

XML-Richtlinie zum Schutz vor Bedrohungen