リファラスパム(referrer spam)をPHPで再現する方法

  • 投稿 : 2013-03-05
  • 更新 : 2013-05-16
<?php
$url_ref = "http://参照元URL/";
$url = 'http://アクセス先URL';

$option = array(
 'http' => array(
   'method' => 'GET',    
   'header' => "Referer: ".$url_ref."\r\n"
              ."User-Agent: Mozilla/4.0 (compatible; MSIE 6.1; Windows NT 5.1)\r\n"
  ));

$context = stream_context_create($option); 
$str = file_get_contents($url, FALSE, $context);

//取得したHTMLを出力
echo $str;
?>
※スパム行為になりかねませんから、試す場合は、あくまで自身が管理しているサイトに対して行ってください
※自己責任でお願いします。

こういう感じで、PHPを組めば、アクセス先URLに、参照元URLのreferrerを残すことが可能です。

アクセスログにこういうスパムが残らないようにいろいろ対策されてます。たとえば、User-Agentの指定をしないとそのアクセスは無視するとかいろいろです。

上記のPHPで、Bloggerのアクセスログになら、現状では残ります。

Refererの偽装は簡単だということが分かったと思います。こんなのをあまり信用してはいけないわけです。

あと、こんな簡単な原理を使った、アクセスアッププログラムを高いお金を払って購入するのはやめたほうが良いでしょう。

迷惑メールと同じく、全く効果がないわけなないので、無駄なのでやめなさいとかいう説得は無意味だと思いますが・・・・。

実際に、マトモそうなサイトもこういうのを使ってることがあって、個人的に残念だなと思ったこともあります。

自動でアクセスアップするツールというものを購入して、その原理を知らずに、スパム行為をしているという可能性もありますが・・・。

この手のツールは悪質に利用しない限り収益化することはできないと思いますので、普通の人はその手のツールを買ってもPVは増えたように感じるだけで、結局、購入する価値があまりないかと思います。

あと、私とかのように虫の居所が悪い人たちが少なからずいて、リファラスパムをする人が有利にならないように通報したりする人がいます。たとえばアクセスランキングに参加してたら、そこに通報するなどいろいろです。

リファラスパムはその性質上、不特定多数にかなり多めに行わないと効果がないので、通報などをされるリスクも高くなるわけです。

リファラスパム(referrer spam)だと思い込んでもいけない

アクセスログから見に行って、リンクがないな?とかで、すぐに、リファラスパムかなと思い込むのはあまりよろしくないです。時たま、見落としとかがあって、実はどこかにリンクがある場合もあるんですね。

たとえば、サイドバーなどにTwitterのタイムラインを表示しているブログパーツの中のURLをクリックしてもOKなんです。で、タイムラインなので、見に行ったときはすでに流れていて、リンクがどこにもないとかになるんですね。

そのほかのパターンもいろいろあります。

スポンサーリンク