スパム防御で [/url] を拒否ワードに – スパム対策

2日続けて、スパムコメントが来ました。2つとも違うURL宛のものですが、共通点があります。それを防ぐ方法を書きます。実を言うと2日前までは別の記事「たった5文字でスパムを回避する方法」の設定を有効にしていました。2日前にそれを解除した途端に、今回のスパムは来ています。

実を言うと2日前までは別の記事「たった5文字でスパムを回避する方法」の設定を有効にしていました。

それは「href=」という禁止ワードを作ることです。

コメントのやりとりで、どうしてもhref=という文字を入れて説明する必要があったので、その禁止ワードを削除しました。2日前にそれを解除した途端に、今回のスパムは来ています。ですので、コメントにHTMLを書く必要のないブログでは「たった5文字でスパムを回避する方法」の設定も有効にすることを、おすすめします。

追記:「たった5文字でスパムを回避する方法」の設定は必ず有効にしないと、手入力で突破されます。詳細は別の記事「スパムを防ぐにはhref=の5文字と[/url]の6文字を禁止に!」にまとめました。

2日続けて、スパムコメントが来ました。2つとも違うURL宛のものですが、共通点があります。それを防ぐ方法を書きます。

書き込まれたスパムコメントは下のものです。文字化けをしているので、一見自動送信されたもののようですが、違うかもしれません。なぜなら、文字化けしたそのURLが実在するからです。

スパムコメント

文字化けしたURLをブラウザで見てみると、ちゃんとページが開かれます。これは、URLが文字化けしているのではなく、ファイルの名前が文字化けしているのです。その、文字化けしたファイルの名前を指定しているのでページが開かれています。

スパムサイト

情報不足で判断がつきませんが、これは手動で入力しているスパムの可能性があります。なぜかというと、手動でスパムを書き込んでいるデータを確認したという情報をもらったからです。

昨日と今日の2つのスパムは、同じ記事に書き込まれました。偶然かもしれませんが、同じ人物が書き込みリストを元にして書き込んでいるのかもしれません。

そして、それをしているのは恐らく日本語の読み書きが出来ない相手だと思われます。

このスパムの特徴

昨日と今日のスパムには共通点があります。まず、本文がどちらも英語である事。リンク先のURLは違いますが、どちらも同じように投稿者名が文字化けしています。そして、どちらも同じタグを使っています。

今日来たスパムコメント
今日来たスパムコメント

昨日来たスパムコメント
昨日来たスパムコメント

この開始タグ[url=http://…]と、終了タグ[/url]のセットは、今もっとも流行っているブログソフトWordPress(ワードプレス)のプラグインが使っているタグです。

誤解があるといけないので書いておきますが、WordPressも被害を受けている側です。

このスパムはWordPressも、それ以外のブログも無差別に攻撃しています。そのためにWordPress用のリンクタグと、その他のブログのリンクタグ(aタグ)を両方使って、どちらかでリンクが張られるように考えています。

このブログを書いているファンブログは、またそれとは違う独自タグなので、コメント中にはリンクが張られていませんが、送信者名でリンクが出来ています。

防御方法

ですから、WordPress以外では使っていないタグを拒否ワードにすれば、このスパムは防げます。

開始タグ[url=http://…]は、http://の後のURLが毎回変わりますが、終了タグ[/url]は毎回かならず同じです。ですので、[/url]を禁止ワードに設定してください。

禁止ワードは [ と ] も含む [/url] の6文字(半角アルファベット)です。

ファンブログでのスパムフィルターの設定方法は、別の記事「買取コレクターからのコメント拒否方法」に書いてあります。

同一ユーザーからの短時間での連続投稿を拒否する

先日、ガブリエルさんのブログ「イタリアンな日々」が1日に3000ものスパムトラックバックを書き込まれました。そういった大量のスパムを防止するために、ファンブログのスパムフィルターには「同じユーザーからの連続した投稿を禁止する」という設定があります。これを有効にしておくこともおすすめします。

スパムフィルター

スパムからの攻撃が多いとアクセスが出来なくなる

昨日(2013年6月19日)から、ファンブログはアクセスがしにくくなっています。これも、スパムが原因の可能性があります。

これは、サイト管理者でないとわかりませんので推測ですが、スパムが大量に送られてくることにより、アクセス過多で、一般ユーザーも接続出来ないということです。一般ユーザーには対策のしようがないのですが、もしスパムが原因なら困ったものです。

サイト管理者が悪く思われるといけないので、書いておきますが、アクセス過多は管理者でも防げません。よって、スパムによるアクセス過多が原因であるのなら、サイト管理者の怠慢ではありません。あしからず。

今日はファンブログが壊れています

2014年1月22日にA8.netのファンブログはSeesaa Blogのシステムをベースにして生まれ変わりました。よってファンブログ関連の記事は今では当てはまらない可能性があります。新しいファンブログのカスタマイズは別ブログ「ファンブログ テック」で詳しく書いていますので、そちらをご覧ください。
注記:
この不具合はスパム攻撃の可能性もあります。
詳しくは「スパムが多いとアクセス障害が発生する」をご覧ください。

なんかログイン出来ねー。

ファンブログのトップページに飛ばされたんで見てみたら、「最新記事一覧」に20分以上も前の記事があるし。いくら人の少ないファンブログでも20分も前の記事はねーだろ。俺だけじゃなくて、みんなログインできてないんじゃないの?

ログインはともかく、ちゃんとブログが開かないと、読者に失礼なんだよな。ということで、読者の皆さん、ごめんなさい。

って書いても、開けなきゃ読めないし。アクセスが落ちるのは仕方ないな、今日は。

信用落とすと、今日だけの問題じゃなくなるんだけど。

スパムからのアタックが多ければ、サーバーに負荷がかかって、アクセス出来なくなるよな。調子悪いのが、そのせいかどうかは知らないけど。

スパム撃退スクリプト – URL抽出阻止

2014年1月22日にA8.netのファンブログはSeesaa Blogのシステムをベースにして生まれ変わりました。よってファンブログ関連の記事は今では当てはまらない可能性があります。新しいファンブログのカスタマイズは別ブログ「ファンブログ テック」で詳しく書いていますので、そちらをご覧ください。

最近、スパムコメントやトラックバックが多くてウザいと言っている方がたくさんいます。

そこで、スパム対策スクリプトを書いてみました。このブログでは、意図どおりに動いています。

当ブログにスクリプトを設置したのは2013年6月15日午前0時ですが、今のところスパムはゼロです。ただ、このブログには元々スパムが少ないので、スクリプトの成果が出ているのかどうかは判断できません。

追記:

2013年6月18日04:09、2013年6月19日10:46、2013年6月20日15:04の3回、コメントスパムが一件ずつありました。ただし手入力の可能性があります。(*注1
(そのコメントのキャプチャを見るにはここをクリック)

スパムコメント

スパムコメント

手入力によるスパムの対策記事は「スパムを防ぐにはhref=の5文字と[/url]の6文字を禁止に!」です。

スパム送信側が、このページで公開したソースを読めばブロックは破られてしまいます。なので、ソースは非公開でこっそり使うのが正しいですが、あえて公開します。

詳しいことは後述しますが、本来、スパムの対策をJavaScriptで書くのは無意味です。ですが、あるスパムはHTMLを取得して解析し、コメントやトラックバックの送信先アドレスを抽出しているのが間違いありません。それで、この対策スクリプトが有効に作用するかどうかを探りたいと思います。

このスクリプトを使用中の、その他のブログ

イタリアンな日々
設置日:2013年06月15日
2013年6月17日トラックバックスパムあり(*注2
2013年6月17日以降のスパム:0
goods and life +
設置日:2013年06月18日
2013年6月18日以降のスパム:0
楽して稼ぎたい~お小遣い稼ぎ情報局~
設置日:2013年06月18日
2013年6月18日以降のスパム:0

*注2:2013年6月17日 「トラックバックでスパムフィルターが有効であることを知らせる」を無効にしないと、URLが読まれます。

このスクリプトはファンブログ専用です。ただ、ロジックを理解していただければ、ファンブログ以外でも改変して使えます。改変はご自由にどうぞ。

ちなみに、これを導入すると、JavaScriptが無効なブラウザからはコメントが送れなくなります。しかし、画像認証を使っていてもそれは同じです。

送信先URLを抽出できなくする

今回書いたスクリプトがやっているのは、URLの隠蔽です。URLを隠すことで抽出できなくします。

ファンブログのスキンに、次の2ヵ所があります。

{$BlogEntryTrackbackLink$}
{$BlogCommentPostUrl$}

{$BlogEntryTrackbackLink$}と書かれた場所には、トラックバックURLが書き込まれます。

同様に{$BlogCommentPostUrl$}には、コメント送信先URLが書き込まれます。

今回のスクリプトは、それを以下の手順で処理します。

  1. 2つのURLを該当個所に書き込まず、別の場所に書いておいて、そのHTMLをサーバーが送信する。
  2. HTMLをブラウザで読み込んだ後、別の場所に書かれているURLを正規の場所に書き直す。

スパム側はスパム側で、別のスクリプトを使ってURLを抽出しようとするでしょう。しかし、あるはずの場所にURLがなければ読み込めないと思います。

スクリプト導入の前処理

変更が必要なスキンは「1記事」だけです。「1記事」のスキンの2ヵ所を変更します。

まず{$BlogEntryTrackbackLink$}を削除します。結果は下の様になります。

変更前

<div id="trackbackText">
この記事へのトラックバックURL<br />
<SpamFilterTrackbackNotice><a>{$BlogEntryTrackbackLink$}</a>
</SpamFilterTrackbackNotice><br />
</div>
変更後

<div id="trackbackText">
この記事へのトラックバックURL<br />
<SpamFilterTrackbackNotice><a></a>
</SpamFilterTrackbackNotice><br />
</div>

次に{$BlogCommentPostUrl$}javascript:void(0);に変更します。

変更前

<div id="commentForm">
<BlogEntryIfAllowComments>
<BlogEntryIfAllowPostComments>
<h3 id="commentTitle">コメント</h3>
<div class="text">{$CommentErrMsg$} 
<form method="post" name="WriteCommentForm" action="{$BlogCommentPostUrl$}">
<table border="0" cellspacing="0" cellpadding="0">
(以下略)
変更後

<div id="commentForm">
<BlogEntryIfAllowComments>
<BlogEntryIfAllowPostComments>
<h3 id="commentTitle">コメント</h3>
<div class="text">{$CommentErrMsg$} 
<form method="post" name="WriteCommentForm" action="javascript:void(0);">
<table border="0" cellspacing="0" cellpadding="0">
(以下略)

これであるハズの場所に、URLはなくなりました。

スクリプトの導入

URLを本来の場所に書き戻すために、今回作ったスクリプトはこれです。スパム送信側は、これがわからないのでURLは見つからないはずです。

<!-- スパム撃退スクリプト ここから -->
<script type="text/javascript"><!--
(function(){
	var tb=document.querySelector('div#trackbackText a');
	var form=document.querySelector('div#commentForm form');

	if(tb){
		tb.innerHTML='{$BlogEntryTrackbackLink$}';
	}

	if(form){
		form.action='{$BlogCommentPostUrl$}';
	}
})();//-->
</script>
<!-- スパム撃退スクリプト ここまで -->

このスクリプトを、そのままコピーして「1記事」スキンの最後の方にある{$BlogAccessCounter$}の上に追加します。スクリプト1行目の<!– スパム撃退スクリプト ここから –>と、最後の<!– スパム撃退スクリプト ここまで –>は、なくてもいいのですが、後で削除や書きかえを行なう際に目印になるので、このまま書き込んでください。

<div id="footer">
</div><!-- /footer -->

</div><!-- /container -->
ここにスクリプトを追加
{$BlogAccessCounter$}
</body>
</html>

スクリプトの赤字部分trackbackTextcommentFormは、スキンのidと照合して、同じ名前かどうかを確かめてください。もし名前が違うなら、スキンのidと同じ名前に書きかえて使ってください。

“スパム撃退スクリプト – URL抽出阻止” の続きを読む

特定のコメントにリンクを張る

2014年1月22日にA8.netのファンブログはSeesaa Blogのシステムをベースにして生まれ変わりました。よってファンブログ関連の記事は今では当てはまらない可能性があります。新しいファンブログのカスタマイズは別ブログ「ファンブログ テック」で詳しく書いていますので、そちらをご覧ください。

これはファンブログ用情報です。

たとえば、誰かのコメントにインスパイアされて、記事に追記を書いた。そのコメントを紹介したいという事があったとします。記事を紹介するのは、ページのURLへリンクすればいいですが、コメントへリンクするにはどうしたらいいでしょう。

今回は、自分のブログや他のブログに寄せられた、特定の「コメント」にリンクを張って、それを表示する方法です。

コメントのIDを調べる

このブログのコメントを例にします。ターゲットは、2013年06月04日(火) 05:19に投稿されたものです。

そのコメントがある記事のURLは
http://fanblogs.jp/ayzfqir5/archive/778/0」です。

リンクを張るには、コメントに振られているIDを調べる必要があります。

まず、IDを調べるために、リンクを張りたいコメントがある記事を開きます。

開いたページの上で右クリックすると、次のようなポップアップメニューが出るので「ページのソースを表示(V)」をクリックします。ただし、使っているブラウザによってメニューに表示される文章は違います。意味で判断してください。

右クリックで「ページのソースを表示」

右クリックで「ページのソースを表示」

ページのソースを表示(V)」をクリックすると、HTMLのソースが表示されます。その中で、リンクを張りたいコメントと同じ文章を探します。

リンクしたいコメントの書き出しは「商材が売れない状態で、アカウント残してもらうのがよかったんだけどね。」なので、その部分を探すと、次のようになっています。

<div class=”comment_layer” id=”3″>商材が売れない状態で、アカウント残してもらうのがよかったんだけどね。

この中の id=”3″ が、idの部分です。だから、このコメントのIDは3です。

リンク先のアドレス生成

コメントのIDがわかりました。

コメントのある記事のURLは
http://fanblogs.jp/ayzfqir5/archive/778/0 なので、そのURLにidを追加します。

http://fanblogs.jp/ayzfqir5/archive/778/0#3

記事のURLに続けて#を書き、さらに続けてコメントのIDを書きます。これがリンク先のアドレスです。

記事のURL+#+ID

リンクタグを書く

リンク先のアドレスがわかったので、それを使ってリンクタグを書きます。

<a href=”http://fanblogs.jp/ayzfqir5/archive/778/0#3“>コメントへのリンク</a>

これで、実際に作ったリンクがここです。このリンクをクリックすると、このページがそのコメントに移動します。(このページから移動します。戻るときはブラウザの「戻る」ボタンで戻ってください)

別のウインドウで表示する

別のウインドウを開いてそこに表示させたいという時は、target属性に_blankを指定します。

具体的に言えば、aタグに「target=”_blank”」と書き加えます。

<a href=”http://fanblogs.jp/ayzfqir5/archive/778/0#3″ target=”_blank”>コメントへのリンク</a>

実際に作ったリンクがここです。このリンクをクリックすると、別ウインドウを開いて、そこにコメントを表示します。

リンク元とリンク先が同じページだけど、別ウインドウに表示させたい場合

同じページのリンクを開くときは target=”_blank” が働きません。その場合は、下のようにします。

<a href=”javascript:void(0);onclick=”window.open(‘#3‘);”>リンクへ</a>

この場合は、同じページのURLは不要で、 #idだけを window.openに指定します。

詳しくは、次の参考記事を見てください。

[画像有]初音ミクリカちゃんと22センチの「りからいず」まどか&ほむら[ドール]

「東京おもちゃショー2013」 あみあみのリポート

東京ビッグサイトの「東京おもちゃショー2013」。一般公開は、6月15日(土)16日(日)の2日間ですが、今日は商談見本市がありました。関係者のみが参加できるのですが、国内最大級のフィギュア通販業者「あみあみ」さんがいろいろツイートしてくれています。

噂だった初音ミクリカちゃんの写真もありますYO☆

タカラトミーの22センチドール「りからいず」でまどか&ほむらが登場!

「あみあみ」さんもツイートで言っていますが、普通の女の子向けアイテムな感じが可愛いです。

初音ミクリカちゃん

一方、こちらは初音ミクとコラボした「初音ミクリカ」ちゃん。目が大きく、ほっぺがふっくらしています。

前にプーリップ(Pullip)が初音ミクを出していましたが、それとはちがう、リカちゃんらしいドールですね。

東京おもちゃショー2013」の公式サイトはこちらです。

今回は「あみあみ」さんに感謝!


“[画像有]初音ミクリカちゃんと22センチの「りからいず」まどか&ほむら[ドール]” の続きを読む