网站被植入黑链,是带/?的解决方法
网站被入侵,植入黑链了,下面是黑链URL地址,
http://www.zhi-fei.com/?zzid=wuBFAQy20230515.doc
http://www.zhi-fei.com/?zzid=Ewq20230515.doc
http://www.zhi-fei.com/?zzm28z=3G20230515.ppt
http://www.zhi-fei.com/?zzaid=83732320230515.ppt
http://www.zhi-fei.com/?zz20230515MIW3.ppt
http://www.zhi-fei.com/?zzid=620230503.doc
http://www.zhi-fei.com/?zzid=QRN20230415.doc
怎么在宝塔linux面板中,服务器使用了nginx,怎么把这些URL地址,访问变成404
1. 登录宝塔面板,进入网站管理页面。
2. 找到该网站的“伪静态”选项,点击进入。
3. 在配置文件页面中找到“location / {}”这一行,点击“添加”按钮,在下方输入框中输入以下代码:
if ($request_uri ~* "^/.*20230515.*") {
return 404;
}
if ($request_uri ~* "^/.*620230503.*") {
return 404;
}
if ($request_uri ~* "^/.*QRN20230415.*") {
return 404;
}
如图:
屏蔽所有以后带有? 查询出来的黑链,如:
if ($args ~* "^.+$") {
return 404;
}
这句代码片段是用来检查`$args`变量是否匹配正则表达式`"^.+$"`,该正则表达式表示匹配任何非空的查询参数。让我们逐步解释这句代码的含义:
1. `$args`变量表示URL中的查询参数部分,例如`?key=value`。
2. `~*`是Nginx的正则匹配操作符,它表示执行不区分大小写的正则表达式匹配。
3. `"^.+$"`是一个正则表达式,它由以下部分组成:
- `^`:表示匹配字符串的开始。
- `.`:表示匹配任意字符。
- `+`:表示匹配前面的字符一次或多次。
- `$`:表示匹配字符串的结束。
因此,正则表达式`"^.+$"`表示匹配任何非空的查询参数。
当请求到达这段代码时,它会检查`$args`是否与正则表达式`"^.+$"`匹配。如果匹配,说明存在非空的查询参数,那么Nginx会使用`return 403;`指令返回403 Forbidden错误页面,拒绝访问该请求。
这段代码的目的是屏蔽带有查询参数的链接。通过返回403错误页面,您可以阻止具有查询参数的链接访问您的网站。
完美源码 » 网站被植入黑链,是带/?的解决方法