上月信用卡莫名刷出了美金,还百撕不得骑姐呢。。。
看了账单才知道是Amazon的aws ec2主机扣了我的费用,才知道原来ec2的免费策略是有各种各样限额的。
包括流量、IO。。。
一般是不会超的,不过要是也像我这种情况,被垃圾评论攻占的话。。。
ec的免费IO是一个月2百万次,但是怎么算IO呢,嗯,open一次算一次。
我给你解释一下一条垃圾评论大概会占用几次IO:
众所周知php为进程退出就清空所有上下文模式,所以一个访问:
看你include了多少php文件,就有几次IO,插件判断是垃圾评论吧,访问数据库吧,web日志,。。。
现在不得不开启注册用户才能发表评论模式了,然后注册表单里用了google的reCAPTCHA,先看看顶不顶得住。
附图一张:
其实我在此之前还写了个脚本自动添加Spam的ip到iptables的禁封列表里,结果发现太长了这个列表,会搞得服务器卡的一笔。贴在这里看需要的朋友吧:
1 2 3 4 5 |
$ cat makebanip.sh wget http://www.stopforumspam.com/downloads/bannedips.zip unzip bannedips.zip php makebanip.php chmod +x banip.sh |
1 2 3 4 5 6 7 8 9 10 11 12 |
$ cat makebanip.php <?php $ips = explode(',', file_get_contents('bannedips.csv')); $fp = fopen('banip.sh', 'w'); fwrite($fp, "iptables -F\n"); foreach ($ips as $ip) { if (strlen($ip) > 7) { fwrite($fp, "iptables -A INPUT -j DROP -s $ip\n"); } } fclose($fp); |
另外这个主题的作者是根据Akismet的spam清单里的ip地址来过滤的(不过他放到了nginx的deny ip里,其实也可以,不过iptables可能更前端一些)
沙发