这篇文章主要来讲一下我的网站如何发现的被恶意解析,为什么会被恶意解析,恶意解析的危害,恶意解析后我的处理方法。前三个留到最后,先直接上解决方法吧。
ε=(´ο`*)))唉,网站还没有高流量的命,就先有了高流量的病。
[title]解决方法[/title]
网上大多数文章都是从这一步开始的,目前主流的服务器配置都是Apache或者nginx,nginx防止恶意解析的方法很简单,网上教程都比较一致,而我的服务器是Apache的,Apache这边网上的信息都过于陈旧,一些语法早已被丢弃,还有一些新的语法。我用的版本是Apache 2.4.1以后的,需要修改httpd.conf文件,这个文件在apache/conf文件夹中。(别问我Apache文件夹在哪)在这个文件末尾添加:
<VirtualHost *:80>
ServerName www.xxx.com
ServerAlias www.xxx.com
<Location />
Require all denied
</Location>
ErrorLog "/home/www/apaerror.log"
CustomLog "/home/www/apainfo.log" common
</VirtualHost>
ServerName填写你想Ban的网站域名,ServerAlias与上面相同。与之前教程不同的是“Require all denied”这句话,这是Apache升级后的新语法,用来替代之前的“Order deny,allow Deny from all”。具体的转换关系可以查看 Upgrading to 2.4 from 2.2。
在Ban掉别人的域名后,还要给自己的域名权限:
<VirtualHost *:80>
DocumentRoot /home/www/htdocs
ServerName ***
ServerAlias *** ***
<Directory "XXX">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)-htm-(.*)$ .php?
RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?
</IfModule>
</VirtualHost>
ServerName是你自己的域名,ServerAlias可以是自己的域名和IP,如果只有域名的话有些本地图片会显示不出来,Alias可以有多个,中间用空格隔开就可以了。Directory写的是项目地址。这样,在保证自己IP不泄露的情况下,就防止了他人再进行恶意解析了。
值得一提的是,升级后的Apache ServerName不能写成*了,意味着不能一次Ban所有人了(例如将第一段代码的ServerName为 *,就可以将除自己以外的所有人Ban掉),如果有人知道办法的话,欢迎在评论区留言。
[title]如何发现的[/title]
通过WordPress的一个站点统计插件,可以查询自己网站的反向链接,平时都是类似百度等网站对我进行引用,但在其中发现了有一个不知名网站对我有了引用,域名这里就不写了。点进去后,发现竟然回到了我自己的网站,又试了几次后,发现的确是被这个网站恶意解析了。
[title]为什么会被恶意解析[/title]
说来惭愧,这个纯属我的个人原因了,在域名备案成功后,我将主站点变为域名格式,在子页面的链接却写成了我的IP地址,所以他人在通过域名访问我的网站后,在子页面发现了我的IP地址。
[title]恶意解析的危害[/title]
最轻的影响是,网站被恶意解析,那么在搜索引擎中收录的文章就有可能在别人的域名下,从而导致自己域名的排名下降。但是如果恶意域名没有备案,那么被解析的IP就会遭到相关部门的警告,严重的话可能会被相关部门封停服务器IP。目前无论是阿里云还是腾讯云,遇到这样的问题后都是直接封禁服务器,没有任何后续服务的。
文章评论