网站的服【fú】务器经常负【fù】载很高,上面安装了一个WordPress网【wǎng】站【zhàn】,查看日志,经常有人【rén】抓取wp-login.php,估计【jì】是【shì】黑客攻击,导【dǎo】致大量数据库访问【wèn】造【zào】成负载过高。
WordPress其实是一【yī】个很【hěn】常见的建【jiàn】站工具,估计很多人都会用【yòng】到,上述情况是【shì】一种较为【wéi】常见的黑客攻击【jī】导致的高负载,解决方法【fǎ】有很多种,我这里【lǐ】就介绍一【yī】下我【wǒ】的解决【jué】方案。
1、WordPress静态化
先针对WordPress网站实施全站静态化处理,我用【yòng】的【de】插【chā】件是“super-static-cache”这个插【chā】件,可以【yǐ】实现文章和目【mù】录【lù】的静【jìng】态化。
不过【guò】,使用“super-static-cache”这【zhè】个插件【jiàn】后,目录和tag会【huì】存在重【chóng】定向问【wèn】题,即自动从一个【gè】无“/”的目录跳转到一个有“/”的目录,正常【cháng】浏览虽【suī】无问题,但对SEO不友好【hǎo】,最【zuì】好再安装一个名为“permalink-trailing-slash-fixer”的插件来解决分类【lèi】目录重【chóng】定向问【wèn】题。
2、添加防火墙规则
经过WordPress静【jìng】态化处理之后【hòu】,正常用户【hù】访问网站应该不【bú】会访问到php文件,这时候,给网站加一个防火墙,推【tuī】荐使用免费的cloudflare,在防火墙后台-“安【ān】全性”-“WAF”里【lǐ】,增加【jiā】一个规【guī】则,当“完整URL”包【bāo】含【hán】“php”的时候,则【zé】执行防火墙的“托【tuō】管质询”操作。
表达式【shì】为【wéi】:http.request.full_uri contains "php"
我【wǒ】在【zài】主机上实【shí】际操【cāo】作,部署了该防火墙规则之后,发现服务【wù】器整【zhěng】体负载【zǎi】立刻就【jiù】恢复正【zhèng】常了。防【fáng】火墙后台查【chá】看了一下,CSR(质询解决率)为0,说明全部都【dōu】是【shì】机器抓取【qǔ】,并且全部都过滤掉了【le】,效果非常不错。
如果大家也【yě】遇到类似问题,可【kě】以尝试使【shǐ】用上面的方【fāng】法优化【huà】一下,没准能很快解决【jué】高负载的【de】问题。
版权所有:深圳市网商在线科技有限公司