Organic SEO Services by Jan Hvizdak

I gave up development of the Cross-Linker plugin for WordPress as well as the Captcha Godfather plugin for WordPress because people are experiencing problems with compatibility. Well... I created these plugins, tested them, but I am not responsible for others' plugins nor for further development of WordPress. In fact, I hate WordPress and soon I will be upgrading this website and WordPress will be removed. Just one experience to show why I deeply hate WordPress: I've been commenting on blogs, but now I cannot. I cannot because about 50% of blogs return blank screen after submitting a comment. I don't know who fucked things up, but I know that without WordPress the world would be a better place. WordPress gave plenty of people a chance to blog. WordPress is also used for spamming purposes, is spammed and doesn't bring any additional value to the world. Plenty of crap blogs, unbelievable stories about how easy it's to make money blogging and such bullshits... WordPress is crap and am not going to use it any longer. It's the same story like with Windows OS. I had to remove it from my computer because it was fucking things as much as possible. I am a happy user of Linux for years now; No more Windows, no more WordPress. Consider quitting WordPress too. I am a coder so it's fucking easy for me to develop a core of my own blog, but even a "me not coder" can create some simple website which will replace WordPress shit. Oh, by the way... WordPress is very bad in terms of SEO. If you decide to donate, you're just saying thanks. All about donations and such things will be removed or modified as soon as I find some time to make some peace from the garbage left by WordPress.


Currently I am writing for blog at web-developers.net where I explain more about SEO, internet business, links and so on. Read why I am writing there. If you are using the Cross-Linker plugin for WordPress and if you want me to solve anything, then consider making a donation ($122 received until now; updated manually):

September 12, 2007

Link building vs. spamming

Filed under: — admin @ 5:10 pm

In this article, I will explain spamming in guestbooks, how to aviod it. If you become the target of spam assassins, I will tell you how to successfully fight against these practices.

If you run a website, you have probably found out how important inbound links are. If you bought a link building service or if you established these links by yourself, you maybe found sites with guestbooks or forums filled with outgoing links. You asked yourself if it’s normal and if webmasters agreed on that.

OK, from my experience, I can tell you that most of links in guestbooks are spam! There are special guestbooks designed for links, but ordinary guestbooks are designed for people, their comments, questions and answers. Some time ago, when so-called SEOs didn’t know anything about guestbooks, they weren’t interested in them. I first became the victim of link builders on my photography dedicated site. I didn’t know anything about SEO and this site was designed to tell people something about my hobby and my interests. Sometimes, somebody posted a message into the guestbook, I replied and so on.

About 1 year ago, the first messages containing outgoing links were added to my message board. Fortunately, phpmyadmin allows a user to easily delete any record and since my guestbook stores the messages in only one table, they’re very easy to erase. So every time someone left a link containing message, I deleted it manually. Please note, that my guestbook is using htmlspecialchars() function from the beginning, so no-one was able to post real links. Everything appeared as normal text on my pages. Anyway, Google is very sophisticated and it interprets a text based link as a normal link. I think it isn’t a very good solution.

Some time ago, I received about 5 messages each day on my guestbook! Then I decided to fight against this evil. Since most guestbooks and internet applications are built on PHP and MySQL technology, the following source code should help 99% of you. But first let me explain the background of spammers.

Spammers are aimed at two, possibly three goals. Firstly, they’re doing link building. Once you successfully cut all links from your message board and spammers find it out, they focus on the second goal, which is posting stupid messages under fictitious email addresses. They used to post email addresses as the messages too. Why? Email addresses are stored by robots especially designed for spammers. Then they sell their emails lists which is the reason why your email account can receive unwanted emails which offer products. Because of this reason, be aware where you publish your email address. The last reason why spammers do spamming, is that if they want you to get mad and to disable your guestbook.

However, there are simple ways to avoid spamming on your site. Try the following methods:

  • 1) Use registration, so only registered users will be able to post comments on your message board, and/or
  • 2) Use email verification, and/or
  • 3) Use images in the forms. Robots aren’t able to read images.

Here then are at least three ways how to avoid spamming supposing you are already a victim. Let’s analyse your situation and possible strategies.

Generally, there are two kinds of spammers. The first class are people who visit a site manually and they spam, spam and spam. When a spammer becomes tired of this work, he usually create some automated robot which finds guestbooks and fills them with links, or stupid messages. There’s no guarantee to successfully flag these robots or people by a single method. As you know, messages are basically determined by two main points.

Firstly is the IP. Banning some IPs is a very powerful tool and I use it. It even does what is says, you also know that there are many IPs in the world and every computer connected to the internet could become a spamming robot. The second thing is to determine the content of a message. This might be quite difficult since some words could be a normal part of any message. Even if there’s some risk of this method, you should use it if you want to fight successfully.

When you start to analyse IPs, you will find out that spammers work worldwide. I saw one forum where users were talking about spammers from Russia only. Some other forum was about spammers from India. I was wondering if there are spammers from these two countries only. Of course I considered there are spammers from the whole world, not only from these countries. Even though I’m not from Russia or India, I consider it as a kind of racism! So I analysed all IPs and I found out that there are spammers from South America as well as from Australia, England, USA. Simply from the whole world. So there’s no need to ban any country, because you would get spammed from another IPs as well as previously.

OK, so why to use an IP and word based ban engine? Isn’t it better to ban only some words or IPs? Imagine, that you successfully ban some IP from posting messages to your guestbook. It’s good, but if any other spammer visits your site and finds your guestbook, you will become a victim again. The same goes to banning some words. If any spam robot sends messages to your message board on a regular basis, you will easily find out that there are many words you should filter from the messages.

Finally, let’s take the source code below and install it to your message board in order to avoid spamming. It’s written in PHP and it is really very simple. Copy and paste it before your engine stores anything in the database. You can find the word and IP based ban engine. If you want to add some IP or new word, simply copy any line and define your word or IP. It doesn’t use MySQL, because it is faster and it can be implemented easily into any PHP source code even it isn’t using a MySQL database.

function is_contained($content,$what)
{
$found = 0;
for($i=0;$i<=strlen($content);$i++)
{
$new_tag = “” ;

for($j=0;$j<=strlen($what)-1;$j++)
$new_tag = $new_tag.$content[($i+$j)];

if(strtolower($new_tag)==strtolower($what))
$found = 1;
}
return $found;
}
$p = 1;
$hard[$p] = “www”; $p++;
$hard[$p] = “http”; $p++;
$hard[$p] = “bmw”; $p++;
$hard[$p] = “hydrocodone”; $p++;
$hard[$p] = “phentermine”; $p++;
$hard[$p] = “valium”; $p++;
$hard[$p] = “paxil”; $p++;
$hard[$p] = “zithromax”; $p++;
$hard[$p] = “amoxicillin”; $p++;
$hard[$p] = “sciatica”; $p++;
$hard[$p] = “steroid”; $p++;
$hard[$p] = “flexeril”; $p++;
$hard[$p] = “tamiflu”; $p++;
$hard[$p] = “allegra”; $p++;
$hard[$p] = “side effect”; $p++;
$hard[$p] = “penis”; $p++;
$hard[$p] = “nude”; $p++;
$hard[$p] = “pokemon”; $p++;
$hard[$p] = “blowjob”; $p++;
$hard[$p] = “xanax”; $p++;
$hard[$p] = “hentai”; $p++;
$hard[$p] = “ass”; $p++;
$hard[$p] = “aciphex”; $p++;
$hard[$p] = “poison ivy”; $p++;
$hard[$p] = “fioricet”; $p++;
$hard[$p] = “buy”; $p++;
$hard[$p] = “casino”; $p++;
$hard[$p] = “ultracet”; $p++;
$hard[$p] = “purchase”; $p++;
$hard[$p] = “yoga”; $p++;
$hard[$p] = “soma”; $p++;
$hard[$p] = “mortgage”; $p++;
$hard[$p] = “cash”; $p++;
$hard[$p] = “real estate”; $p++;
$hard[$p] = “refinance”; $p++;
$hard[$p] = “money”; $p++;
$hard[$p] = “debt”; $p++;
$hard[$p] = “cheap”; $p++;
$hard[$p] = “wellbutrin”; $p++;
$hard[$p] = “cialis”; $p++;

$p–;

$comment = nl2br(strip_tags($_REQUEST['comment'])); //the variable which contains the comment $stupid_word = 0;
for($i=1;$i<=$p;$i++)
if(is_contained($comment,$hard[$i])==1)
$stupid_word = 1;

$p = 1;

$hard[$p] = “125.240.113.194″; $p++;
$hard[$p] = “140.127.139.248″; $p++;
$hard[$p] = “82.236.237.63″; $p++;
$hard[$p] = “200.130.15.10″; $p++;
$hard[$p] = “218.233.65.206″; $p++;
$hard[$p] = “144.140.53.38″; $p++;
$hard[$p] = “216.207.123.200″; $p++;
$hard[$p] = “61.39.71.85″; $p++;
$hard[$p] = “211.38.113.101″; $p++;
$hard[$p] = “206.54.70.243″; $p++;
$hard[$p] = “208.66.193.62″; $p++;
$hard[$p] = “195.175.37.71″; $p++;
$hard[$p] = “200.237.79.194″; $p++;
$hard[$p] = “193.220.40.207″; $p++;
$hard[$p] = “85.255.117.18″; $p++;
$hard[$p] = “200.237.79.193″; $p++;
$hard[$p] = “195.226.244.78″; $p++;
$hard[$p] = “200.69.10.173″; $p++;
$hard[$p] = “195.225.176.77″; $p++;
$hard[$p] = “201.0.4.148″; $p++;
$hard[$p] = “81.177.14.241″; $p++;
$hard[$p] = “195.225.176.73″; $p++;
$hard[$p] = “200.225.194.49″; $p++;
$hard[$p] = “200.65.0.25″; $p++;
$hard[$p] = “194.126.164.5″; $p++;
$hard[$p] = “195.39.170.102″; $p++;
$hard[$p] = “141.85.37.4″; $p++;
$hard[$p] = “193.188.77.2″; $p++;
$hard[$p] = “217.78.51.254″; $p++;
$hard[$p] = “200.89.217.66″; $p++;
$hard[$p] = “203.190.163.214″; $p++;
$hard[$p] = “72.232.213.210″; $p++;
$hard[$p] = “81.177.15.236″; $p++;
$hard[$p] = “81.177.15.238″; $p++;
$hard[$p] = “62.75.219.205″; $p++;
$hard[$p] = “195.225.177.90″; $p++;
$hard[$p] = “200.65.127.163″; $p++;
$hard[$p] = “200.55.15.243″; $p++;
$hard[$p] = “211.24.161.18″; $p++;
$hard[$p] = “200.30.79.126″; $p++;
$hard[$p] = “218.133.30.88″; $p++;
$hard[$p] = “221.250.231.194″; $p++;
$hard[$p] = “212.184.102.131″; $p++;
$hard[$p] = “202.179.108.221″; $p++;

$p–;

$stupid_ip = 0;
for($i=1;$i<=$p;$i++)
if($REMOTE_ADDR==$hard[$i])
$stupid_ip = 1;

if(($stupid_ip==1)||($stupid_word==1))
{
//do nothing
}
else
{
//insert data into the database; don’t forget to insert data using htmlspecialchars()!
}
Happy banning:).

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress

This blog uses the cross-linker plug-in developed by Web-Developers.Net