我正在使用OctoberCMS和NGINX。
我想使用随机生成的密钥和 NGINX 站点可用来保护站点的后端登录 url。
进入登录页面的唯一方法是使用 URL 中的安全密钥或将其添加为书签。
安全密钥
/administrator
我有这段代码在使用路径时与 Joomla 一起使用。
虽然 OctoberCMS 使用/backend/backend/auth/signin。
if ($http_referer !~ "^/backend/backend/auth/signin"){
set $rule_0 1$rule_0;
}
if ($args !~ "^vhXmdqLx1lkNQ46f5egC"){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/.*backend/backend/auth/signin/? /404 redirect;
}
它适用于登录页面,但一旦登录,它就会重定向到 404,因为/backend
代码中不包含其他页面。
通配符
我尝试像这样向 uri 添加通配符 (*),但它给出了相同的 404 结果:
if ($http_referer !~ "^/backend/backend.*"){
set $rule_0 1$rule_0;
}
if ($args !~ "^vhXmdqLx1lkNQ46f5egC"){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/.*backend/backend.*/? /404 redirect;
}
笔记:
- 安全密钥只是我生成的一个示例,而不是真正的密钥。
- 尝试
/backend
而不是/backend/backend
破坏后端的 css url,因为 html 中的 css 链接需要安全密钥。