Maison >Opération et maintenance >Nginx >Quelles sont les règles de la liste blanche nginx-naxsi ?
Syntaxe des règles de liste blanche :
basicrule wl:id [negative] [mz:[$url:target_url]|[match_zone]|[$args_var:varname]|[$body_vars:varname]|[$headers_var:varname ] |[name]]
wl:id (identifiant de la liste blanche) | Quelles règles d'interception entreront dans la liste blanche |
wl:0 | Ajouter toutes les règles d'interception à la liste blanche |
wl: 42 | Ajoutez la règle d'interception avec l'identifiant 42 à la liste blanche |
wl:42,41,43 | Ajoutez la règle d'interception avec l'identifiant 42, 41 et 43 à la liste blanche |
wl:-42 | Ajouter toutes les règles d'interception dans la liste blanche, à l'exception de la règle d'interception avec l'ID 42 |
mz : (match zones)
args | obtenir tous les paramètres, tels que : foo=bar&in=%20 |
$args_var | Le nom du paramètre get, tel que : foo in foo=bar&in=%20 et in |
$args_var_x | Le nom du paramètre get qui correspond à la correspondance régulière |
headers | en-tête du protocole http entier |
$headers_var | Le nom de l'en-tête du protocole http |
$headers_var_x | Le nom de l'en-tête du protocole http correspondant régulièrement |
body | L'intégralité contenu du paramètre de la publication |
$body_var | Le nom du paramètre du paramètre de publication |
$body_var_x | Le nom du paramètre du paramètre de publication correspondant régulier |
url | url(?before) |
url_x | L'URL correspondante habituelle (?avant)) |
file_ext | Nom du fichier (le nom du fichier téléchargé lors du téléchargement d'un fichier dans la publication) |
Exemple de configuration de la liste blanche
Prends la règle #1000 à titre d'exemple : la règle n°1000 consiste à filtrer les fichiers contenant des règles de sélection, de mise à jour, de suppression, d'insertion et d'autres mots-clés SQL
règle | description |
basicrule wl:1000 | Désactivez complètement l'interception ; règle n°1000 dans cette sous-règle. Puisqu’il n’y a pas de zone spécifiée, toutes sont ajoutées à la liste blanche. |
basicrule wl:1000 "mz:$args_var:foo"; |
Désactiver la règle d'interception dans toutes les valeurs de paramètre d'obtention nommées foo #1000 Similaire à http://mike.hi-linux.com/ Les requêtes telles que ?foo=select * from demo ne seront pas filtrées. |
basicrule wl:1000 "mz:$url:/bar|args"; |
Paramètre désactivant la règle d'interception #1000 dans la requête get avec l'url de /bar Les requêtes similaires suivantes ne seront pas filtrées : http://mike.hi-linux.com/bar?my=select * de la démohttp://mike.hi-linux.com/bar?from=weibo |
basicrule wl:1000 "mz :args|name"; |
Désactivez les règles d'interception #1000 pour tous les noms de paramètres (uniquement les noms, sans compter les valeurs des paramètres) dans toutes les requêtes get Les requêtes suivantes ne seront pas filtrées : http://mike.hi -linux.com/bar?from=weibo Les requêtes suivantes seront filtrées : http://mike.hi-linux.com/bar?foo=select Parce que select est une valeur de paramètre et n'est pas dans la plage de la liste blanche. |
basicrule wl:0 "mz:$url_x:^/upload/(.*).(.*)$|url"; |
Conforme à ^/upload/(.*) dans toutes les requêtes. (.*)$ L'URL de la règle régulière désactive toutes les règles d'interception Semblable à http://mike.hi-linux.com/upload/select.db, les requêtes ne seront pas filtrées (la règle d'interception #1000 sera à l'origine déclenchée). |
实战用的白名单规则 # vi naxsi_basicrule.conf basicrule wl:1010,1011 "mz:$args_var:rd"; basicrule wl:1015,1315 "mz:$headers_var:cookie";
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!