StyleBook-Konfiguration

Erlaube Sonderzeichen mit ihrer wörtlichen Form in StyleBook

In der StyleBook-Definition können Sie wörtliche Zeichenketten verwenden, wenn Sonderzeichen in einer Zeichenfolge ihre wörtliche Form annehmen müssen. Diese Zeichenfolgen können Escape-Zeichen, umgekehrte Schrägstriche, Anführungszeichen, Klammern, Leerzeichen, Klammern usw. enthalten.

In StyleBooks können Sie NetScaler Richtlinienausdrücke in ihre literale Form mithilfe von wörtlichen Zeichenfolgen einschließen. Die Richtlinienausdrücke enthalten in der Regel Sonderzeichen. Ohne wörtliche Zeichenfolgen müssen Sie Sonderzeichen umgehen, indem Sie Strings in Teilstrings zerlegen.

Um eine wörtliche Zeichenfolge zu erstellen, kapseln Sie eine Zeichenfolge wie folgt zwischen Sonderzeichen:

~{string}~

Sie können wörtliche Strings in den StyleBook-Ausdrücken verwenden.

Hinweis Verwenden Sie

nicht die Zeichenfolge} ~ in einer Eingabezeichenfolge, da diese Sequenz das Ende einer wörtlichen Zeichenfolge angibt.

Beispiel:

---
name: test-deny-url
namespace: citrix.adc.stylebooks
version: "6.2"
display-name: StyleBook for creating an AppFw profile
description: This Stylebook configures an AppFw config.
schema-version: "1.0"
import-stylebooks:
  -
    namespace: netscaler.nitro.config
    prefix: ns
    version: "13.0"
parameters:
  -
    name: name
    type: string
    required: true
substitutions:
 default-deny-urls-regex:
     "Command_injection_attack": str("([ /=]|\t|\n)(ls|cat)([ ;'" + "\\"&].\*)?$")
     "Command_injection_attack2": ~{([ /=]|\t|\n)(ls|rm|cat)([ ;'"&].\*)?$}~
components:
  -
    name: appfw-profile-comp
    type: ns::appfwprofile
    properties:
      name: $parameters.name
      type: ["XML"]
    components:
          -
            name: appfw-profile-denyurl-default-binding-subcomp-all
            type: ns::appfwprofile_denyurl_binding
            properties:
                name: $parent.properties.name
                denyurl?: $substitutions.default-deny-urls-regex["Command_injection_attack"]
                state?: "ENABLED"
          -
            name: appfw-profile-denyurl-default-binding-subcomp-all2
            type: ns::appfwprofile_denyurl_binding
            properties:
                name: $parent.properties.name
                denyurl?: $substitutions.default-deny-urls-regex["Command_injection_attack2"]
                state?: "ENABLED"
<!--NeedCopy-->

In diesem Beispiel haben die default-deny-urls-regex Substitutionen einen wörtlichen Ausdruck.

  • "Command_injection_attack": str("([ /=]|\\t|\\n)(ls|cat)([ ;'" + "\\\"&].*)?$"): StyleBook verarbeitet es als regulären Ausdruck.

  • "Command_injection_attack2": ~{([ /=]|\t|\n)(ls|rm|cat)([ ;'\"&].*)?$}~: StyleBook verarbeitet es als wörtlichen Ausdruck. Die Sonderzeichen in dieser Zeichenfolge haben die wörtliche Form.

Verketten Sie mehrere wörtliche Strings

Sie können wörtliche Strings mit den regulären Strings oder Strings mit Interpolationen verketten. Wenn Sie dies tun, überspringt das StyleBook die Interpretation nur für die wörtlichen Strings. Verwenden Sie den Plus-Operator (+) zwischen den Strings, um zu verketten.

Beispiel:

value: "~{"id": "}~ + %{$atom.key}% + ~{", "value": "}~ + %{$atom.value}% + ~{"}~"
<!--NeedCopy-->

In diesem Beispiel %{$atom.key}% und %{$atom.value}% werden interpretiert. Und die Interpretation wird für den Rest übersprungen.

Erlaube Sonderzeichen mit ihrer wörtlichen Form in StyleBook