{"id":994,"date":"2014-07-08T14:32:27","date_gmt":"2014-07-08T18:32:27","guid":{"rendered":"http:\/\/www.blogseye.com\/?p=994"},"modified":"2014-07-08T14:32:27","modified_gmt":"2014-07-08T18:32:27","slug":"spam-is-finally-slowing-down","status":"publish","type":"post","link":"http:\/\/blogseye\/2014\/07\/spam-is-finally-slowing-down.html","title":{"rendered":"Spam is finally slowing down."},"content":{"rendered":"

I’ve been using the generated htaccess list<\/a> for a few weeks now. At first I thought that the list would grow forever. The spammers seemed to find new IP addresses faster than I could block them. I started adding blocks of IPs by looking up each ip by hand on LACNIC.NET. This took hours everyday, so I started working on an automated method of looking up the IP addresses and writing out the htaccess file.<\/p>\n

I had a working version of the program on Monday, but I wanted to white list some of the bigger IPs in civilized countries. I wanted to eliminate duplicates and sort the addresses. Today I finished and then converted the old very long list to ranges and deleted any ip addresses that belong to ISPs.<\/p>\n

The result is that most of China is blocked. Most of Russia is blocked. If I receive spam or a malicious robots hits one of a dozen sites the central db gets updated. One strike and you’re out. The exception is that I only block individual IP addresses for ISPs.<\/p>\n

In the course of things, I get rid of many ISP blocks and I am waiting for them to regenerate. I must say, though, that not many are coming back. Most of my WP blogs have reported no action in the last couple of hours. This blog has been hit with a new round of admin password guessing robots, but they only hit once and then are blocked. I have had 6 hits in the last two hours. I think that the spammers are running out of servers that I haven’t blocked.<\/p>\n

I will run the program to add the new IP addresses to the htaccess file by hand for a while. I wouldn’t feel good about blocking all of Germany by mistake, so I like to check things. Germany certainly does have a lot of spam servers, though. The program only takes a few minutes to run compared to hours when I do it by hand.<\/p>\n

If you download the htaccess file, make sure that your hosting company is not blocked. You may have to remove GoDaddy or 1and1 by hand so that your cron jobs will execute properly. Just check your server IP and look in the htaccess file for a similar number. The deny statements are sorted by IP. There is a comment containing some of the information found in lacnic that can help.<\/p>\n

 <\/p>\n","protected":false},"excerpt":{"rendered":"

I’ve been using the generated htaccess list for a few weeks now. At first I thought that the list would grow forever. The spammers seemed to find new IP addresses faster than I could block them. I started adding blocks of IPs by looking up each ip by hand on LACNIC.NET. This took hours everyday, […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/posts\/994"}],"collection":[{"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/comments?post=994"}],"version-history":[{"count":1,"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/posts\/994\/revisions"}],"predecessor-version":[{"id":995,"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/posts\/994\/revisions\/995"}],"wp:attachment":[{"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/media?parent=994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/categories?post=994"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blogseye\/wp-json\/wp\/v2\/tags?post=994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}