FC2ブログ

12 | 2007/01 |  02

  1. 無料サーバー

User forum-FC2BLOG-Info-Edit Template-Post-Edit-Upload-LogOut

CSSやJavascript自習の苦闘史を綴っていきたい。恐縮ですがJavascriptを有効にしてご覧ください。
2005年12月から社会問題も掲載!


正規表現による英文コメントスパム対策の適否(2)

 禁止ワード適用後の結果について

適用後2時間ほど経過する間に3本の英語だけのスパムコメントが登録された。(E-MAIL通知による)

そしてその全てが拒否されずにエントリイのコメントとして表示されている。

中の1つは、タイトル:making weave poles (making weave poles)、コメント本文「The hint given, and returned in a way.」であったので、「\w+\sが連続して5つ以上続く」条件に該当しないため拒否できなかったのは理解できる。

しかし、他の2つは明らかに「\w+\sが連続して5つ以上続いている」にも拘わらずサーバーは拒否してくれなかった。因みにそのコメントは以下の通りであり、正規表現テストWebサイトでチェックしたら、共に(\w+\s){5,}の禁止ワードにヒットするのに、FC2ブログサーバーでは削除してくれなかったことになる。

 禁止ワードで遮断されるはずなのに、そうならなかった2つのコメントスパム

  • タイトル:melisa ford (melisa ford)、
    コメント:「Sleep, sleep, Grace had always seemed more fitted for heaven than earth; but, it is hardly generous to think myself in love with my friends at Marseilles, by their exteriors.」
  • タイトル:american express pay bill (american express pay bill)
    コメント:As I did when I heard a suppressed groan escaped him, declaring that the parson's son could hardly believe that this was my misfortune; for I conceived it impossible anything material could escape them.

「melisa ford (melisa ford)」の正規表現MATCHテストの結果は以下の通りであり、2箇所が禁止ワードにヒットしている。しかしFC2サーバーは跳ねなかった・・・。

正規表現による英文コメントスパム対策の適否

関連エントリイリスト in this Blog

 講じた英文スパム対策禁止ワード( (\w+\s){5,} )のチェックの様子を記しておく。いうよりも、当然のことであるがチェックしてから禁止ワード設定を更新した(笑)。

なお、ここにチェックに使用したWebサイトを記して感謝の意を表したい。それは 正規表現MATCHテスト (黄色い文字をクリックすれば当該サイトが別窓で開きます)である。

ケース1……ヒットする例文

※ 以下の例示では正規表現が \w{1,}\s{5,} となっているが、これは \w+\s{5,} と同意であり、後者の方が簡潔なので実際の禁止設定では後者で登録したことを付言しておく。

下図のように、スペースや改行文字を伴う5個以上の英単語が連続するケースは、ごく短い英文でも一般的に存在する。(実際のコメントスパムをチェックした例である)

テスト内容

テスト前の入力状態

テスト結果

テスト結果
ケース2……Javascript文を跳ねないか?

この場合、=、(。{などの英文字ではない記号が沢山登場するし、スペース、改行を伴うアルファベット文字列5個がで連続してる箇所は滅多にないだろう。テスト内容は下図を参照。

Javascript文のテスト内容
▼ケース3……HTML文を跳ねないか?

HTML文の場合 <や=などの記号が随所にはいるため、英文字とスペースや改行だけが5回以上繰り返されることはまずない。だからヒットしない。

HTML文のテスト内容
ケース4……CSS文はどうか?

この場合には以上のチェック結果を踏まえれば敢えて試すまでもなく、:や;が続々と登場するので上記の禁止ワード正規表現にはヒットし得ない。

意図通り作動しているか?

それは今後のお楽しみ。毎日数通のスパムコメントが投稿されているので、数日来なければ成功と言えよう。

しかし I love you so much. 何てコメントも拒否してしまうので5回繰り返しでは少なすぎか? 否、ピリオドがあれば \w\s の禁止ワード正規表現には該当しない。この場合には4回の連続だけになるので大丈夫!───と一人悦に入っていても仕方ないことではある(爆笑)。

増えるコメントスパムに対策を講じてみた

以下の正規表現で功を奏するかどうか、実験中。

(\w+\s){5,}

「任意の1以上のアルファベット(\w+)とスペース、タブ、改行記号(\s)の組み合わせからなる文字列が5個以上あれば禁止」 という設定である。

目の青い友人(笑)はいないから間違って拒否することもないし、日本人のコメントで「アルファベットとスペースや改行」だけが5回連続したコメント文はまずないだろう、と考えた。

なお、コメント内にHTML文、CSS文、scriptを記述する場合があり、当然英字は沢山混じってくる。しかし、それはアルファベット以外の記号(<、{、(、:、;等々)が必ず混じるし、アルファベットとスペースや改行記号だけが5回以上繰り返される、というパターンはないと判断する。

本来、過去に戴いたコメントで文字数をチェックしてから設定すべきだが、面倒なのでとりあえず以上で設定し、数日様子を見てみようと思う。

なお、便利な世の中になったもので(笑)、「正規表現MATCHテスト」をWeb上で行えるサイトが複数存在しており、また正規表現をチェックできるフリーソフトも存在していることが分かったので、それらを使ってテストした結果を別エントリイで書くことにする。

DOM:setAttributeメソッドを使ってクリック時のフォーカスをはずす(2)

自動フォーカスアウトは、月別、カテゴリイ別表示の時には無効にした。

先月分のエントリイを一括表示してみたら、凄く時間が掛かった。これは記事の文字量が多いこと、及び画像ファイルが沢山あるためであるが、(画像へのリンクが多いことは無関係だ。リンクが貼ってあるだけで読みに行っているわけではないから)、兎に角、余りに時間が掛かりすぎるので、少しでもそれを短縮する必要があると思われた。

そこで、記事(文字)量を減らすわけには行かないので、出来ることと言えば、徒に画像を掲載しないこと、または掲載画像サイズを小さくすることである。しかし、今後の対応としてはあり得るが、過去のエントリイに遡ってまで、それらの対策を講じることはとてもカッタルイ。となれば、後はメモリ上で悪戦苦闘しているであろうDOMによるAタグへの属性追加、すなわちクリック後のフォーカスアウトを、記事の単独表示の時だけに限定し、月別、カテゴリイ別、検索結果などの複数エントリイ表示モードの時には、適用しないようにしたらどうか、と考えた。

 そしてそれを実行した

HTMLテンプレートにおいて、bodyタグの属性にonloadイベントハンドラー「start()」を設定し、それによりonClick時のblur()を設定しているのだが、この適用を個別エントリイ表示だけの場合に行うように修正した。

具体的には、次のようにブロック変数を設定してみた。

<!--permanent_area--><body onload="・・・();;start()"><!--/permanent_area-->

<!--not_index_area--><!--not_permanent_area--><body onload="・・・()"><!--/not_permanent_area--><!--/not_index_area-->

 90%近いシェアを握っているインターネットエクスプローラの描画エンジンを利用したタブbrowser。沢山のタブbrowserがあるが、多機能、カスタマイズフリー、スクリプト利用等で一日の長がある。Gekkoエンジンへの対応も行われ、IEからの自立独立の方向に向かっている。2005年7月にはIE7が登場する見通しの中で、今後の発展が望まれる。

 多様なCSS作成支援機能を備えた、タグ入力式 HTML&CSS作成支援エディタ。スキンデザインもすっきりしている。テキストエディター上で作成するよりも確実で安全にタグ打ちが出来る。
文字コードを選べないのが欠点。

 StyleNote同様のタグ入力式 HTML&CSS 作成支援エディタ。長年使用してきたが現在StyleNoteに乗り換えつつある。

 クリップボード履歴情報を活用する為のソフト。画像まで履歴を取ってくれるのが嬉しい。このソフトを使わない日は絶対ない程に重宝し、愛用している。

 起動中のウィンドウの「コピーできない」説明文などの文字列を取得し、コピー可能な文字データにするツール。何かと便利。

 ストリーミングデータを保存することが出来るソフト。動画利用には不可欠なソフトだ。

 無料ながらレイヤー機能を有し、スクリプトによる拡張も可能な、sleipnir作者が提供している優れもの画像編集ソフト。

 画面キャプチャソフトと言えばこれに勝るものなし、ではないだろうか? 様々な取得方法を有しており、ブログ作成にもHomepage作成に不可欠だ。Jtrimと並んでWoodyBellsの作品。

 複数ファイルの同時編集は出来ないが、透過pngも作れる画像編集ソフト。
(以下当該サイトから抜粋)初心者にも簡単に操作が出来るフォトレタッチソフトです。多くの加工機能で画像に様々な効果を与えることができます。非常に軽快に動作するため、ストレスなく操作できます。

 Animation Gifファイルを作れる無料ソフト。

 キャプチャソフト。画面内にサイト全体が表示しきれない場合でも、これを使えば全体をキャプチャすることが出来る。

 画像処理。画像のフォーマット変換のみならず、色数やサイズ、圧縮率の変更まで一括処理できてしまう『BatchGOO!』は、大量の画像をまとめて処理したいときに大変便利なソフト。BMP, TIFF, JPEG, PCX, PNG の相互変換をはじめ、色数・サイズ・解像度の統一、JPEG圧縮率の調節など、ホームページ用の画像や携帯電話用の壁紙を揃えるのに抜群の相性を見せる。(Vectorの当該ソフト紹介頁より抜粋引用)

 名前から直ぐに想像が付くように画像のサイズを測るためのソフトだ。Homepage作成には欠かせない。2カラム、3カラムのレイアウトを行う場合に大変重宝する。

 ランチャーソフトは沢山あるが、中でもこれが一押しだ。2年以上使ってきたがその操作性には毎日満足している。これを使い始めてからデスクトップには一切のアイコンを表示することをやめてしまった。

 AdobeReader7によって、起動時間が長すぎるという長年のユーザーの不満はある程度解消した。そのためこの高速化ソフトは存在価値が低下してしまったかもしれない。AdobeReader6迄はこのソフトによる起動高速化で恩恵を受けてきた。

 IE専用が難点だが、様々なサイト内でIDやパスワードを入力するのに重宝するソフト。コンテキストメニューから簡単に起動できるのがGood! sleipnir等のIEの描画エンジンを利用しているブラウザでも使える。

 利用しているパソコンの諸元値を取得するには、このソフトがベストだ。インストール済みソフトの一覧が取得できるのも嬉しい。

 WMPは機能が豊富なだけ重い。RealPlayerも同様だ。そこでMedia Player Classicを使いたい。動作が軽快なだけではなく、対応しているファイル形式もすこぶる多く、これひとつで、wmvもrmも表示できてしまうのだから凄い! 数多あるMedia Playerの王様と言えるだろう。

 自宅でPCを起動しているときには必ず起動しているメディアプレーヤー。何かと過剰なWinampよりも、起動も速くスキンはシンプルだ。

 DivX, Xvid, Mov, Vob, Mpeg, Mpeg4, avi, wmv, dv, などの動画をDVD-Video形式に変換できるフリーソフト。クリックするとDVD関連ソフト紹介サイト=「DVDなToolたち」なるHomepageが開きます。