特定のリファラーからのアクセスを.htaccessで遮断する話

semalt.comって何?

虫つきサイトがあると書きましたが、そこで最近毎日見かけるのはsemalt.comからのリファラーです。どうやら社会科学系女子的には注目の地、ウクライナからのSEO系botのようです。バックリンクを調べるとかそのたぐい?

ウクライナには恨みはないが、良い気はしません。どこのどいつじゃ、うちのサイトをsemalt.comなんぞにかけたのは。

それがお金はあまり稼がないけれど、アクセスは多いサイト(これはいずれバックサイトとして働いていただく予定)にもsemalt.comが来たのです。このsemalt.com、リファラーの形で訪れるのです。semalt.semalt.com/crawler.php?u=http……という形。

じゃあ、特定のリファラーを排除してやろうじゃないの。エっ!

.htaccessに書いてやるぜ

同じように思われた方がwordpress.orgのフォーラムにおられたようです。それを参考にしました。
.htaccessに以下のように書きました。


SetEnvIfNoCase Referer semalt.com spammer=yes

Order Allow,Deny
Allow from All
Deny from env=spammer

semalt.comをリファラーとするものをスパマーと定義し、スパマーはアクセス遮断、ということでしょう。
これを応用すると、例えば、中国のbaidu、韓国のNavar、ロシアのYandexなど、用のないと思われるサーチエンジンからのリファラーを遮断することもできますね。

付け足し方

最近、
jp.hao123.com/yahoo_search?query=
というリファラーがくるようになりました。
hao123.comは中国のバイドゥ系のようです。
これも評判悪いですね。ソフトをインストールする際にくっついてきてブラウザトップを乗っ取っちゃうとか。(Googleツールバーだってそんな感じでしたねえ。遠い目)
いずれにせよ、こっち来んな、見んなボケ!って感じ。未来のGoogleかもしれないけれど、排除排除。

そういうわけでこう書いています。

SetEnvIfNoCase Referer semalt.com spammer=yes
SetEnvIfNoCase Referer hao123.com spammer=yes

Order Allow,Deny
Allow from All
Deny from env=spammer

参照

セールスマネージャー

追記
このサイトはアップされると同時にTwitterにポストされるようにしてあります。そうしたら間髪入れずにsemaltのセールスマネージャーからリプが飛んできました。

どういうことかというと、「もしもSemaltのデータベースから除外して欲しければ、ここをみて。」

見てみましたよ。「データベースから除外して欲しいなら、登録しろ」というサイトでした。
メンドクセ。
フィッシング詐欺メールって昔から「登録削除して欲しければ」みたいなのありますね。あんな感じをうけました。実際にはどんな会社かわかりません。次世代のGoogleかもしれません。

それにしてもなんでsemaltってわかったんだろう。タイトルにsemaltって入れてないのにな。おまけに、semaltかけられたのはこのサイトでもこのサーバーにおいているサイトでもないんだけどな。あーあ、このページがdeny semaltだからな。

それと、このアレックスさん。この人はオーナーなのかな。そうじゃないなら罵声を浴びせられる仕事は大変だよね。(なんでこのアレックスさんのツイートの表示がおかしくなったの?と思ったら、非表示にしてるんですね…そりゃそうだ)

botとの戦いの記録

追記

コメントありがとうございます。
来なくなったんじゃないかと思いますが、いかがでしょ?

Related posts