添加伪静态命令优化网站速度,防止大部分无效访问。伪静态命令通常是通过在服务器上配置路由规则来实现的,伪静态命令还可以通过其他方式提高网站安全性。例如,它们可以限制对敏感页面的访问,只允许受信任的用户访问。这可以防止未经授权的用户访问敏感信息或执行恶意操作。
总之,伪静态命令是一种有效的防御措施,可以帮助防止网站被攻击。然而,为了确保网站的安全性,还应该采取其他安全措施,如使用强密码、更新软件和安全补丁、限制用户权限等。
以前本站分享过一段类似功能的伪静态命令,但是会影响宝塔面板的SSL证书升级,今天分享的这段命令大家可以放心使用,不影响宝塔面板续签SLL证书,亲测有效:
命令代码:
#禁止空agent的浏览器访问 if ($http_user_agent ~ ^$) { return 444; } #禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 444; } #禁止指定UA的访问 if ($http_user_agent ~ "ApacheBench|WebBench|HttpClient|Java|python|Go-http-client|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Feedly|UniversalFeedParser|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|MJ12bot|heritrix|EasouSpider|LinkpadBot|Ezooms" ) { return 444; } #禁止非GET|HEAD|POST方式的抓取 if ($request_method !~ ^(GET|HEAD|POST)$) { return 444; } #禁止特殊的user_agent的访问 if ($http_user_agent ~ "Mozilla/4.0\ \(compatible;\ MSIE\ 6.0;\ Windows\ NT\ 5.1;\ SV1;\ .NET\ CLR\ 1.1.4322;\ .NET\ CLR\ 2.0.50727\)") { return 444; } if ($request_method !~* GET|POST) { return 444; } #使用444错误代码可以更加减轻服务器负载压力。 #防止SQL注入 if ($query_string ~* (\$|'|--|[+|(%20)]union[+|(%20)]|[+|(%20)]insert[+|(%20)]|[+|(%20)]drop[+|(%20)]|[+|(%20)]truncate[+|(%20)]|[+|(%20)]update[+|(%20)]|[+|(%20)]from[+|(%20)]|[+|(%20)]grant[+|(%20)]|[+|(%20)]exec[+|(%20)]|[+|(%20)]where[+|(%20)]|[+|(%20)]select[+|(%20)]|[+|(%20)]and[+|(%20)]|[+|(%20)]or[+|(%20)]|[+|(%20)]count[+|(%20)]|[+|(%20)]exec[+|(%20)]|[+|(%20)]chr[+|(%20)]|[+|(%20)]mid[+|(%20)]|[+|(%20)]like[+|(%20)]|[+|(%20)]iframe[+|(%20)]|[\<|%3c]script[\>|%3e]|javascript|alert|webscan|dbappsecurity|style|confirm\(|innerhtml|innertext)(.*)$) { return 555; } if ($uri ~* (/~).*) { return 501; } if ($uri ~* (\\x.)) { return 501; } #这里大家根据自己情况添加删减上述判断参数,cURL、wget这类的屏蔽有点儿极端了,但要“宁可错杀一千,不可放过一个”。 if ($http_user_agent ~* YisouSpider|ApacheBench|WebBench|Jmeter|JoeDog|Havij|GetRight|TurnitinBot|GrabNet|masscan|mail2000|github|wget|curl|Java|python) { return 508; } #同上,大家根据自己站点实际情况来添加删减下面的屏蔽拦截参数。 if ($http_user_agent ~* "Go-Ahead-Got-It") { return 508; } if ($http_user_agent ~* "GetWeb!") { return 508; } if ($http_user_agent ~* "Go!Zilla") { return 508; } if ($http_user_agent ~* "Download Demon") { return 508; } if ($http_user_agent ~* "Indy Library") { return 508; } if ($http_user_agent ~* "libwww-perl") { return 508; } if ($http_user_agent ~* "Nmap Scripting Engine") { return 508; } if ($http_user_agent ~* "~17ce.com") { return 508; } if ($http_user_agent ~* "WebBench*") { return 508; } #拦截各恶意请求的UA,可以通过分析站点日志文件或者waf日志作为参考配置。 if ($http_referer ~* 17ce.com) { return 509; } #拦截17ce.com站点测速节点的请求,这些测速网站的数据仅供参考不能当真的。 if ($http_referer ~* WebBench*") { return 509; } #拦截WebBench或者类似压力测试工具,其他工具只需要更换名称即可。
通过网站伪静态设置可以实现屏蔽很多的无效访问,让网站更安全,速度更快一点。
1、确定无效访问来源:首先需要确定哪些访问是无效的,例如来自特定IP地址、特定时间段、特定关键词的访问等。
2、编写伪静态规则:根据无效访问来源的特征,编写伪静态规则。例如,可以使用正则表达式来匹配无效访问的URL模式,并将其重定向到特定页面或返回错误信息。
3、配置服务器:将伪静态规则配置到服务器上,以便在接收到请求时自动应用这些规则。我们可以到宝塔面板——网站——设置——伪静态,进行伪静态设置。
4、测试和调整:在应用伪静态规则后,需要对网站进行测试,以确保规则正确地屏蔽了无效访问,并且不影响网站正常访问功能,如果发现错误,需要调整规则以确保其准确性。
5、监控和日志记录:为了持续监控网站的安全性,需要启用日志记录功能,记录所有访问请求和伪静态规则的应用情况。这样可以在发现异常访问时及时采取措施。
请注意,屏蔽无效访问只是网站安全措施的一部分。为了确保网站的安全性,还应该采取其他措施,如安装服务器防火墙等。