Configuration des expressions de stratégie avancées nommées
盟代替de retaper拉几个fo meme表达式is dans plusieurs stratégies, vous pouvez configurer une expression nommée et faire référence au nom chaque fois que vous souhaitez utiliser l’expression dans une stratégie. Par exemple, vous pouvez créer les expressions nommées suivantes :
Cette expression :
http.req.body(100).contains("this")
Cette expression :
http.req.body(100).contains("that")
Vous pouvez ensuite utiliser ces expressions nommées dans une expression de stratégie. Par exemple, voici une expression juridique basée sur les exemples précédents :
Cette expression | Cette expression |
Vous pouvez utiliser le nom d’une expression de stratégie avancée comme préfixe d’une fonction. L’expression nommée peut être une expression simple ou une expression composée. La fonction doit être capable d’opérer sur le type de données renvoyé par l’expression nommée.
Exemple 1 : expression nommée simple en tant que préfixe
L’expression nommée simple suivante, qui identifie une chaîne de texte, peut être utilisée comme préfixe de la
HTTP.REQ.BODY(1000)
Si le nom de l’expression est Top1Ko, vous pouvez utiliser Top1KB.after_str (« username ») au lieu de HTTP.REQ.BODY (1000) .AFTER_STR (« username »).
Exemple 2 : expression nommée composée en tant que préfixe
Vous pouvez créer une expression nommée composée appelée basic_header_value pour concaténer le nom d’utilisateur dans une requête, un signe deux-points (:) et le mot de passe de l’utilisateur, comme suit :
add policy expression basic_header_value "HTTP.REQ.USER.NAME + \":\" + HTTP.REQ.USER.PASSWD"
Vous pouvez ensuite utiliser le nom de l’expression dans une action de réécriture, comme illustré dans l’exemple suivant :
add rewrite action insert_b64encoded_authorization insert_http_header authorization '"Basic " + basic_header_value.b64encode'
Dans cet exemple, dans l’expression utilisée pour construire la valeur de l’en-tête personnalisé, l’algorithme de codage B64 est appliqué à la chaîne renvoyée par l’expression nommée composée.
你们可以合理使用的一个表达式nommée (seule ou comme préfixe d’une fonction) pour créer l’expression de texte de la cible de remplacement lors d’une réécriture.
Configurez une expression de stratégie avancée nommée à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez les commandes suivantes pour configurer une expression nommée et vérifier la configuration :
- add policy expression - show policy expression
Exemple :
> add policy expression myExp "http.req.body(100).contains("the other")" Done > show policy expression myExp 1) Name: myExp Expr: "http.req.body(100).contains("the other")" Hits: 0 Type : ADVANCED Done
L’expression peut contenir jusqu’à 1 499 caractères.
Configurer une expression nommée à l’aide de l’interface graphique
- Dans le volet de navigation, développezAppExpert, puis cliquez surExpressions.
- Cliquez surExpressions avancées.
- Cliquez surAjouter.
- Entrez un nom et une description pour l’expression.
- Configurez l’expression à l’aide du processus décrit dansConfigurer l’expression de stratégie avancée. Un message dans la barre d’état indique que l’expression de stratégie est correctement configurée.