Regex Nginx阻止使用“请求位置”的用户;行政";在根目录中(仅限)
我们使用nginx,为了阻止所有试图查找我们的机密管理员url的用户,我们希望添加nginx位置规则: 在什么地方找 -第一个目录/文件夹包含单词admin -接下来是什么 -但不排除/xxxx/adminhtml/在第二个文件夹或路由中可以找到admin一词,第二个文件夹或路由可以是包含admin的任何字符串 测试用例(当然还有更多的例子):Regex Nginx阻止使用“请求位置”的用户;行政";在根目录中(仅限),regex,nginx,filter,Regex,Nginx,Filter,我们使用nginx,为了阻止所有试图查找我们的机密管理员url的用户,我们希望添加nginx位置规则: 在什么地方找 -第一个目录/文件夹包含单词admin -接下来是什么 -但不排除/xxxx/adminhtml/在第二个文件夹或路由中可以找到admin一词,第二个文件夹或路由可以是包含admin的任何字符串 测试用例(当然还有更多的例子): /管理员=>停止 /admin/badurl.php=>stop /admin/route/openaccess.php=>stop /cpadmin
- /管理员=>停止
- /admin/badurl.php=>stop
- /admin/route/openaccess.php=>stop
- /cpadmin/=>停止
- /admin/adminhtml=>stop
- /cpadminbackend/=>停止
- /adminbackend/route/openaccess.php=>stop
- /xxx/myadminfolder/=>确定
- /xxx/admin/myroute/=>正常
- /xyz/route/folderwithadmininit/=>正常
Drop people trying to access admin
location ~* /.*admin.*\/.*/ {
return 444;
}
或许
location ~* /.*admin[^\/]*\/.*/ {
return 444;
}
但看起来他们要么不工作要么贪婪
感谢帮助你试过了吗
location ~* /(admin|adminbackend|cpadmin|cpadminbackend)/
您的规则可以创建为:
location ~* ^/[^/]*admin
分项数字如下:
- 锚定到开头,以便捕获第一个目录组件
- 允许零个或多个非
字符/
- 在第一个目录组件中捕获
admin
更多关于正则表达式语法的信息可以找到。@snh\u nl更新了答案ahhh,所以在这种情况下越少越好!让我测试一下,然后再给你回复