どこで利用しているかはいちいち書かないけれど、使っている「Yomi-Search」。こいつにやってくるスパム登録が偉いことになっています。
サーバ移転してから登録申請メールが届かなくなっていたんですが、気付いたら申請数が600を超えていて。見なかったことにして閉じて、しばらく放置してからまた開いたら今度は800超えてるし。メールを届くように直したら、1日で50件以上の申請が。これはまずい。
たぶん日本でもっとも多く利用されているリンク集作成 CGI だと思うので、対策方法はあるだろうとネットを徘徊しても、どうも見つからない。「Yomi-Search スパム登録制限機能」はとっくに導入済みだけれどまったく効果なし。
というわけでちょっとした対策を施してみたのでここに記しておきます。もしかしたら誰かの役に立つかもしれないし。すぐにスパマーに対策講じられそうな気もしますけど。ま、そん時は別の手考えます。
対策内容ですが、何のことはない、登録申請を行う CGI にてリファラ(参照元)をチェック、しかるべき場所からリンクを踏んでやってこないと、トップページに強制的に戻すようにします。
修正は簡単、regist_ys.cgi の34行目と35行目の間に以下の一行を加えるだけです。
print "Location: http://your-domain/yomi.cgi\n\n" unless ( $Eref =~ /your-domain/ );
「your-domain」を環境に合わせて書き換えてくださいな。
これを昨晩導入したんですが、その後、SPAM登録はたったの1件です。その1件はしっかりリファラにうちのドメインを設定してきていたので、この対策もいつまで持つのか難しいところではありますが、ひとまずの一時しのぎには大きな効力を発揮するでしょう。
dezimac
リファラによるチェックですね。
自分もスパム登録を防ごうと他の方法を考えました。
regist_ys.cgi の391行目「#(4)入力内容のチェック(&check)」の下に以下のコードを追加します。
#↓スパムチェック
if($FORM{mode} ne "act_mente" && $FORM{changer} ne "admin"){
if((!$EST_reg{bana_url} && $FORM{Fbana_url}) || (!$EST_reg{to_admin} && $FORM{Fto_admin}) || (!$EST_reg{add_kt} && $FORM{Fadd_kt}) || (!$EST_reg{sougo} && $FORM{Fsougo})){
&mes("不正登録を検知","404 Not Found",$EST{admin_hp});
}
}
#↑スパムチェック
バナー、管理人へのメッセージ、追加して欲しいカテゴリ、相互リンクといった登録画面で非表示にしている項目に対して入力があった場合に排除できます。
仮登録のログを見るとリフェラ偽装して非表示にしていて、通常入力できない管理人へのメッセージや相互リンクを入れてくる自動投稿プログラムによるのが目立ったので結構有効です。
リフェラチェックのように正規の登録でもセキュリティソフト使っていたりしてリフェラ取得できないで弾く事もないです。これらの項目を全て表示している場合は無効ですけど。
ログを見ていると、それなりに名の知れている企業とかのスパムもありますね。
SEO業者の自社のスパムも。
スパム登録一覧を公開してみたくなります(笑
viking
管理お疲れ様です
>修正は簡単、regist_ys.cgi の34行目と35行目の間に以下の一行を加えるだけです。
と、あるのですが
可能でしたら、行数ではなく
○○という記述の下に書き加える。っといった感じでご教示願えませんでしょうか。
宜しくお願い致します。
con
昨日
記述しましたら、登録がぴたっと止まりました。
ありがとうございます。
&form_decode;
$Eref=$ENV{'HTTP_REFERER'};
$ENV{'HTTP_REFERER'}="";
○○○○○○○○←この部分です
#-----------------#
if($FORM{'preview'} eq "on"){&preview;} #プレビュー画面
elsif($FORM{mode} eq "regist"){®ist;} #登録画面
con
こんにちは
googleもクロール出来なくなるようです。
うーん困りました。とりあえず辞めます。
tai-tetsu 太鉄
えー。
編集するのは regist_ys.cgi ですから、Googlebot が全体をクロールできなくなるなんてことは無いはずですが…。
以前はクロールされていて、、この対策を入れてからクロールされなくなったという確たる証拠はありますでしょうか。
うーん、俄かには信じ難いです…。
con
こんにちは
言葉足らずで申し訳ありません
AdSenseクロールのことなんですが、AdSenseとの提携に関して神経質になっておりまして、このようなコメントを入れてしまいました。
-------------------------------------------------
ブロックされた URL ブロックされた理由 [?] 前回のクロールの試行
http:/ / www. ドメイン/ ys4/ 見つかりませんでした 2008/12/05
regist_ys. cgi 見つかりませんでした 2008/12/05
regist_ys. cgi? mode= new 見つかりませんでした 2008/12/05
------------------------------------------------- ウエブマスターツールも確認しました。以前見たときは、問題なしだったのです。
リンク
サイトマップ
運用ツール
ウェブ クロール ウェブ クロール
www.ドメインG00glebot は、サイトをクロールする際にリンクをたどってページ間を移動します。これらのページはクロール中に問題が発生したため、インデックスに追加されず、検索結果にも表示されません。
下記のエラーを確認して、問題が生じているページをチェックします。たとえば、「クロールが完了できなかった URL」のエラーが表示された場合、 クロールが完了できなかった URL Googlebot がクロールしにくいコンテンツ (リッチ メディア ファイルや画像など) を含むページがある、または Googlebot と相性が悪い URL 構造である 可能性があります。
クロール エラーの詳細
注: すべてのエラーに問題があるというわけではありません。たとえば、一部のページをクロールしないよう意図的に設定している場合は、エラーを修正する必要はありません。
カテゴリー:HTTP エラー (0) URL がタイムアウトしました (0) URL にアクセスできません (1) robots.txt により制限された URL (0) クロールが完了できなかった URL (0) サイトマップの URL に関するエラー (0) 見つかりませんでした (220)
見つかりませんでした1 – 25 / 220 次へ ›
URL 詳細 リンク元 エラー検出日
http://www.ドメイン/tokyo-hamamatucho.html 404 (見つかりませんでした) ヘルプ 読込中...
3 ページ 2008/12/06
http://www.ドメイン/tokyo-nerima.html 404 (見つかりませんでした) ヘルプ 2 ページ 2008/12/05
http://www.ドメイン/ys4/html/01_01_02.html 404 (見つかりませんでした) ヘルプ 2 ページ 2008/12/02
http://www.ドメイン/s4/html/02_06.html 404 (見つかりませんでした) ヘルプ 5 ページ 2008/11/28
http://www.ドメイン/html/03_10_10.html 404 (見つかりませんでした) ヘルプ 2 ページ 2008/11/26
-------------------------------------------------
こんな感じなので、まずいと思い元にもどしました。もしかしたら他に原因があるかもしれませんので、判り次第連絡します。
con
あ!すみません。
ウェブマスターツールのほうは、sitemap.xmlのミスでした。
こちらは、早急に直します。
太鉄
regist_ys.cgi がクロールされない(見つからない)のは当然なんですが、その他まで見つからないというのはちょっと分かりませんねぇ。
もしかしたら sitemap.xml のミスの方が影響していたりしませんかね。
con
返事が遅れて申し訳ありません。
次のクロールを待っていました。
やはり、sitemap.xml のミスの影響だったようです。
大変お騒がせしてすみませんでした。
しばらくの間スパムがひどくて大変でした。
本日より、また使わせて頂きます。ごめんなさい。
俊
スパム対策、効果ありました。どうもありがとうございます。
本来のサイトと同じ画面のダミーのサイトに転送するように設定しました。ダミーのサイトは登録できないように改造しておきました。きっと転送されたことすら気づかないのではと思います。
ついでに、ネットで見つけたキーの入力を求めるような改造もしておきました。先週までの登録メールの嵐が嘘のように静かになりました。