宮崎のWEB制作アドエス

.htaccessを利用してアクセス拒否してみました

2015.01.10

リファラスパムと戦ってましたの続きです。

あらすじ

昨年(2014年)12月暮れ、ロシアからのリファラスパムが頻発し、サイト改ざん等の被害を懸念した私はこのスパムを阻止するべく対策に乗り出すことを決意したのでした。—以下続き—

 

 

とは言え、思いつく対策は1つしか浮かびませんでした。それは、

ロシアからのアクセスを拒否してしまおう!

というものです。なにしろ当サイトはロシアの人にとってはまったくもって少しも利益にならないでしょうし、そもそも対象として考えておりませんので。方法としてはやはりhtaccessを利用しました。ロシアからアクセスしようとするとhtaccessで制限されているので403エラーにしてしまうというものです。さようならロシア。

具体的には下のように書きました。

 

order allow,deny
allow from all
deny from .ru

 

1行目で許可の可否を可・否の順に書きますよと宣言。

2行目で誰でもアクセス許可ですよと設定。

3行目でロシアはダメですよと設定。

 

これでロシア以外の国からのアクセスはできるけれどロシアからはアクセスできなくなったはず!念のため設定が有効になっているかどうかjpで試してみました。大丈夫!これで問題は解決されたかのように思われましたが…翌日アナリティクスを確認してみると問答無用に何の効果もなくまたロシアからのアクセスが来てました。

 

どういうこと!?

 

htaccessでは完全にロシアは拒否しているはずなのにアクセスされている…

困った時は先人の知恵を使うに限る!というわけでネットで検索してみましたが制限方法は合っている。ああそうか、時差だ。きっと設定する前の日付が変わる前にアクセスしていた分なんだ。無理矢理な理由を作り上げて1日様子を見てみることにしてみました。

結果、

 

アクセスがまた来てました。

 

やはりアクセス制限が効いていないんじゃないか?不安になってきたので、アクセス制限をもう少し強くしてみました。

具体的にはこうです。

 

SetEnvIf Accept-Language ru Lilith
order allow,deny
allow from all
deny from .ru
Deny from env=Lilith

 

つまりロシアからのアクセスの他に、ロシア語の人もダメですよ!と追加したわけであります。さようならロシア、そしてロシア語を使用している人。だけど一度ロシアからのアクセス拒否で失敗しているため安心はできません。また様子を見ることにしました。

結果、

 

アクセスが増えてました(汗)…

 

なんだこれ!たしかに制限はかかっている。なのにアナリティクスではその制限をかけたロシアから、制限をかけたロシア語でアクセスしてきているのである。とても嫌な予感がした。つまりこの人はhtaccessをかいくぐってアクセスしてきている。どうやって?参照元を偽装するような人だから国や言語も偽装してるのか?いや、偽装したとしてもその時点でhtaccessがはじくはず。プロキシを使ってるのか?いや、だとしてもアナリティクスにロシアと出るということはそれも違うだろうし、もしそうでも意味がない。もう今の私の知識ではこのリファラスパムのアクセスを拒む方法がない。あきらめかけたその時、ある有益な情報を見つけることができました。

 

Google Analyticsの表示からリファラースパム(referer spam) priceg.com を除外するicon_link

 

このリファラスパム、昨年末に世界中で猛威をふるっている様子で、いろんな方が対策を講じていらっしゃったのです。どうもこれ、アナリティクスへの細工の様で、実際にはサイトにアクセスしていないけれどアナリティクス上にはサイトにアクセスがあったように見せる仕掛けのスパムだったのです。だからサーバにアクセス拒否しても効果がなかったというわけです。怖いですね。これで対策は完了ですが、アナリティクスの結果が使えないのは困ります。そこでフィルタを使ってスパムを除外表示することにしたのでした。