7号突然发现博客不能访问了,当时登录空间管理面板,发现流量用完了。乌鸦的小博客每个月4500MB的流量,以前从来没用完过,赶紧看了一下最近访客,发现是从6号晚上10点,开始频繁的访问网站,到凌晨3点流量被耗光了,但是访问量依然居高不下。各式各样的IP频繁的、持续不断的访问博客的各个页面。
怀疑是遭到了DDOS攻击,咨询了空间商说没有解决的办法。看来只能自己解决了。
从空间上无法解决就只能从博客程序上下手了。目前使用的博客程序是typecho,相对于wordpress来说算是一个小众的软件了。论坛人气很低,但是程序的风格简洁,正中我意。
因为对PHP及typecho程序不太了解,所以不可能从根本上去解决这个问题,所以我做的第一件事就是修改空间、cPanel、mysql的密码。因为修改了mysql密码博客程序就无法连接到数据库了,所以恶意访问就终止了。但是修改了博客程序连接mysql数据的配置文件,恶意文件又开始了。。。O(╯□╰)o
然后我分析了一下访问日志,访问的路径有:/2013/03/14.html,这是一篇文章的路径,/aboutme.html,这是博客里新建的一个页面,/category/js,这是博客里的js标签,/2013/03/page/1这是博客的里分页,还有一个比较特殊的东西:/robots.txt。网站程序的根路径下是没有这个文件的。在网上搜了一下这个文件,果然有料:https://zh.wikipedia.org/zh-cn/Robots.txt
然后试着搞了一下,屏蔽了所以的机器人:
User-agent: *
Disallow: /
但是还是有垃圾访问,看来这招不灵,后来又看到wiki里说robots.txt只能防君子,不能防小人,既然能干这种龌龊之事,必定是小人了。

乌鸦已经无奈了,无聊之中捯饬了一下cPanel,看到可以远程访问mysql,就把上网用的外网ip加上去,用mysql客户端试了一下,还真连上了,当初无耻的空间商客服竟然告诉乌鸦不能用客户端连数据库,鄙视。
然后看了一下typecho的数据库设计,还真是挺简单的,typecho_contents(文章表),typecho_comments(评论表),typecho_options(配置表),typecho_metas(分类/标签),typecho_relationships(对应),typecho_users(用户),然后意外的发现typecho_comments有200+的数据,这显然不正常,乌鸦记得博客只有typecho默认的一条评论和我自己写的一条评论,果然慢慢的全是垃圾评论。
看来真被论坛上的哥们儿说对了,被垃圾评论干掉了。
先在提交评论的页面上使用js验证邮箱,乌鸦硬性规定了只能使用gmai、qq、163、126、sina的邮箱,但这个貌似不太好用,虽然现在的垃圾评论的邮箱全是随机生成的字母,如果攻击者随机使用上述的邮箱那这个js就废了。回头再装个防垃圾评论的插件,这个才是王道了吧除非比人盯上,否则乌鸦这小破网站没人去攻击。
说到防垃圾评论插件,无非是验证码或者限制IP,对于乌鸦这次遇到的情况,因为使用了代理,所以限制IP是不得法的。看来只能是加验证了。
其实乌鸦自己是比较反对使用验证码的,对于评论者来写完评论再去填写验证码实在是不爽,尤其是那种机器人看不明白人看着也费劲的验证码。
算了,不爽就不爽吧,至少可以用,否则没几个小时又被垃圾评论干掉了。按照乌鸦的习惯,写完评论敲击enter或者ctrl+enter时光标要移到验证码输入框,大多时候的评论都是中文,所以光标移到验证码输入框后不用切换输入法继续输入中文验证码。毕竟中文验证码要比字母数字难破解一下。



更多文章请访问:wang153723482.blog.163.com