plugins:protectbymd5

NP_ProtectByMD5.php

スパムロボットなどにコメントなどを投稿されにくくするためのプラグインです。現時点では、多くのロボットは JavaScript を解釈できません。その性質を利用しています。このプラグインによる監視をすり抜けるためには、スパムロボットは以下の機能を有する必要があります。

  1. <script src="">タグにより、外部の JavaScript を取り込む機能。
  2. 取り込んだ JavaScript (md5.js) を正しく理解し、MD5 値を計算する機能。

現段階では、これらの機能を有するスパムロボットは少ないと思われます。

General Plugin info
作者: Katsumi
最新のバージョン: ver 0.3.0
入手先: フォーラムから
ソース:
動作サンプル: http://kandk.cafe.coocan.jp/nucleus/
フォーラム参照先: http://japan.nucleuscms.org/bb/viewtopic.php?t=2400
セキュリティチェック: 【セキュリティのチェックが済んだら、その旨を記述して、チェックした人がサインをします。空にしておいてください】

インストール方法

  1. Zipファイルを展開して、中身をサーバーのプラグインディレクトリにアップロードする
  2. 管理画面からプラグインをインストールする

このプラグインの使い方

  1. インストール直後は、このプラグインは無効に設定されています。下記の説明に従ってプラグインオプションの設定を行った後に(必要であれば、スキン変更も行って)、同じくプラグインオプションで有効に設定してください。
  2. コメントスパム対策に用いるときは、プラグインオプションの『FormExtraイベントを利用しますか』に、『はい』を選択してください(バージョン 0.3.0 以降)。
  3. 携帯電話からの投稿を受け付けたいときは、プラグインオプションの『accept.phpで定義されたIPアドレスからの投稿を常に許可しますか?』に、『はい』を選択してください(バージョン 0.3.0 以降)。

スキンへの記述

  • バージョン 0.3.0 から、コメントスパム対策の際には、スキンへ記述する必要がなくなりました。スキンへ記述せずにスパム対策を行いたいときは、コメントオプションの『FormExtraイベントを利用しますか』に、『はい』を選択してください。
  • コメント以外のスパム対策のとき(あるいは、0.2.5 もしくはそれ以前のバージョンを用いているとき)スキン中で、次の例のように『<%ProtectByMD5(begin)%>』 と、『<%ProtectByMD5(end)%> 』で目的の箇所を挟んでください。
    <%ProtectByMD5(begin)%>
    <%commentform%>
    <%ProtectByMD5(end)%>

    このプラグインは、スキン中の『</form>』を探し出して必要なタグを挿入します。『</form>』が記述されていないと、うまく働きません。また、『</form>』は小文字で記述されていることが必要です。

テンプレートへの記述

  • 無し

オプション

  • チェックするアクション:』 このプラグインでチェックするアクション名を指定してください。複数のアクションを指定する場合は、2行以上にして記述してください。デフォルトでは、『addcomment』が指定されており、コメントの投稿の監視に対応しています。
  • このプラグインを有効にしますか?』 このプラグインを有効にするには、『はい』を指定してください。
  • JSEncode?』 NP_JSEncodeと同じHTML隠蔽システムを使用したいとき、『はい』を指定してください。
  • メンバーからの投稿にもスパムチェックを行いますか?』『はい』に設定すると、たとえメンバーがアクセスしていても、スパムチェックを行います。『いいえ』に設定すると、スパムチェックを行いません(デフォルトは『はい』)。これを『いいえ』に設定する場合は、ログオフした状態でコメントが書き込めるかどうか、チェックするようにしてください。
  • スパムの投稿をログに残しますか?』 『はい』に設定すると、管理操作履歴にログが残ります。
  • FormExtraイベントを利用しますか?』 『はい』に設定すると、スキンの記述を省くことが出来ます。
  • FormExtraイベントで調べるアクション』 上記設定で『はい』にしたときに、どのアクションでこのプラグインを利用するかを指定します。コメントスパム対策に利用する場合は、デフォルトのままでかまいません。
  • accept.phpで定義されたIPアドレスからの投稿を常に許可しますか?』 protectbymd5/accept.php で定義されているIPアドレスから接続している場合、スパムチェックをせずに投稿を受け付けます。デフォルトでは、携帯電話からアクセスしたときのIPアドレスが登録されています。

Tipsと裏技

  • action.php で処理するプラグイン(トラックバックなど)で利用するには、
    if (postVar("np_protectbymd5_hash")!=md5(postVar("np_protectbymd5"))) exit('Wrong MD5');

    のような記述を、該当箇所に書き加えてください。

希望事項

バグ

開発履歴

  • Version 0.1 リリース (2006-11-08)
    • 最初のバージョン
  • Version 0.1.1 リリース (2006-11-23)
    • タイプミス修正(<[![CDATA → <![CDATA[)
  • Version 0.2.1 リリース (2007-01-03)
    • NP_JSEncodeと同じHTML隠蔽システムが使用できるようになった
  • Version 0.2.5 リリース (2007-01-03)
    • JSEncodeモードを使用しているときにSafariで表示がうまく行かない不具合を解消。
  • Version 0.3.0 リリース (2007-12-02)
    • 携帯電話に対応
    • スパム対策の際のスキン変更を省略できるように変更
    • ログ保存機能を追加
    • エラーメッセージを変更可能に
    • メンバーの投稿をチェックしない選択を追加
 
plugins/protectbymd5.txt · 最終更新: 2011/03/23 21:28 (外部編集)