J'explique :
Sur mon domaine stephane-huc.net, j'ai un répertoire /img accessible publiquement ...
Dont le répertoire suivant : /img/EBNH/ ... qui me ser(t|vira) à mettre différentes créations de mon alter-ego EsteBaN Hache.
Si je créée un fichier ou un répertoire comportant les lettres suivantes 'BSD' - majuscules ou minuscules - il arrive que mon serveur refuse l'affiche et émettant une erreur 444 ... (au cas où j'ai essayé de mettre "OBSD", "FBSD" ... le résultat est le même).
Voici mon jeu d'écritures liés aux règles "return 444" :
Code : Tout sélectionner
###
# Block Queries
###
# 6G Perishable Press: Queries String
# @ https://perishablepress.com/6g/
location ~* "(eval\()" { return 444; }
location ~* "(127\.0\.0\.1)" { return 444; }
location ~* "([a-z0-9]{2000})" { return 444; }
location ~* "(javascript\:)(.*)(\;)" { return 444; }
location ~* "(base64_encode)(.*)(\()" { return 444; }
location ~* "(GLOBALS|REQUEST)(=|\[|%)" { return 444; }
location ~* "(<|%3C).*script.*(>|%3)" { return 444; }
location ~ "(\\|\.\.\.|\.\./|~|`|<|>|\|)" { return 444; }
location ~* "(boot\.ini|etc/passwd|self/environ)" { return 444; }
location ~* "(thumbs?(_editor|open)?|tim(thumb)?)\.php" { return 444; }
location ~* "(\'|\")(.*)(drop|insert|md5|select|union)" { return 444; }
# 6G Perishable Press: Request String
# @ https://perishablepress.com/6g/
location ~* "(https?|ftp|php):/" { return 444; }
location ~* "(=\\\'|=\\%27|/\\\'/?)\." { return 444; }
location ~* "/(\$(\&)?|\*|\"|\.|,|&|&?)/?$" { return 444; }
location ~ "(\{0\}|\(/\(|\.\.\.|\+\+\+|\\\"\\\")" { return 444; }
location ~ "(~|`|<|>|:|;|,|%|\\|\s|\{|\}|\[|\]|\|)" { return 444; }
location ~* "/(=|\$&|_mm|(wp-)?config\.|cgi-|etc/passwd|muieblack)" { return 444; }
location ~* "(&pws=0|_vti_|\(null\)|\{\$itemURL\}|echo(.*)kae|etc/passwd|eval\(|self/environ)" { return 444; }
location ~* "\.(aspx?|bash|bak?|cfg|cgi|dll|exe|git|hg|ini|jsp|log|mdb|out|sql|svn|swp|tar|rar|rdf)$" { return 444; }
location ~* "/(^$|mobiquo|phpinfo|shell|sqlpatch|thumb|thumb_editor|thumbopen|timthumb|webshell)\.php" { return 444; }
# others
#location ~* "[a-zA-Z0-9_]=http://.*" { return 444; }
#location ~ "[a-zA-Z0-9_]=(\.\.//?)+" { return 444; }
#location ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+" { return 444; }
location ~* "w00tw00t.*" { return 444; }
location ~* "Ringing\.at\.your\.dorbell.*" { return 444; }
location ~* ".*(asp|bs).*" { return 444; }
location ~* ".*(admin|cgi|manager|pma|user|wp|wordpress).*" { return 444; }
location ~* ".*x.*x.*x.*" { return 444; }
location ~ "(.*)%[0-9azAZ]{1,}(.*)" { return 444; }
## Protect writable directory
location ~* /(backend|cache|css|frontend|img|js)/.*.(asp|cfml?|cgi|jsp|php|pl|py|sh)$ { return 444; }
location ~* /tools/.*.(asp|cfml?|cgi|jsp|pl|py|sh)$ { return 444; }
Si un nom comporte les lettres 'open' ... je veux bien ... mais là, quand même ... quid ?!