Proof-of-Work CAPTCHAへ切り替え

当サイトのContactをJoomla! Coreに変更し、Proof-of-Work CAPTCHAへ切り替えました。

概要

  • Joomla! 6.1がリリースされ、Proof-of-Work CAPTCHAが実装されました
  • 当サイトはContactにExtension: Convert Formsを採用し、Google reCAPTCHAを使用しておりました
  • これを機に、Joomla! CoreのContactに変更し、併せてProof-of-Work CAPTCHAを使用することにしました

参照

手順

  1. Plugin: CAPTCHA - Proof of Workを有効にし、設定を確認します
  2. Global ConfigurationのCAPTCHAをProof-of-Work CAPTCHAに変更します
  3. Menu: Contact UsのMenu Item TypeをContactに変更します
  4. Contactフォームの動作を確認します

Plugin: CAPTCHA - Proof of Workの設定確認

  1. System > Manage > Pluginsをクリックします
  2. Search formに[proof of work]と入力して検索します
  3. States: enableを確認します
  4. Plugin: CAPTCHA - Proof of Work > Plugin tabを開きます
  5. Difficulty: Easy(default)を確認します
    • Easy: 標準的な問い合わせフォームに適しています
    • Moderate: スパムリスクが高い場合にバランスが取れています
    • Hard: ユーザー登録フォームやコメントフォームなど、大量のスパムが集まるエンドポイントに推奨されます
  6. Automatic Solution: When CAPTCHA field receives focus(default)を確認します
    • When CAPTCHA field receives focus: フィールドにフォーカスされるとき
    • When page is loaded: ページがロードされるとき
    • When form is submitted: フォームが送信されるとき

CAPTCHAをProof-of-Work CAPTCHAに変更

  1.  Home Dashboard > System > Global Configurationをクリックします
  2. Site tab > Site blk > Default Captcha: CAPTCH - Proof of Workに変更します
  3. Save & Closeをクリックします

Menu Item TypeをContactに変更

  1. Menus > Main Menu > Contact Us(当サイトの場合)をクリックします
  2. Details tab > Menu Item Type: Contacts - Single Contactに変更します
  3. Select Contact - Selectボタンをクリックして、 (当サイトの場合、過去に作成済の)Contact Usをクリックします
    • 未作成の場合、+Cleateボタンをクリックして、新規にContactを作成します
  4. Save & Closeをクリックします

Contactフォームの動作を確認

  1. Contact Usのページを開きます
  2. ページ下部にキャプチャフィールドが表示されていることを確認します
    • フィールド内にI’m not a robotと表示されています
  3. 適当なフィールドをクリックします
  4. その瞬間キャプチャフィールドの表示が[Verifying...]に変化します
  5. キャプチャフィールドの表示が[Verifyed]と表示されます
    • 以上のように、キャプチャのためにユーザーが特別に行う作業は一切ありません

Proof-of-Work CAPTCHAについて

  • Proof-of-Work (PoW) CAPTCHAは、ユーザーのブラウザに小さな計算タスクを自動的に実行させることで、人間とボットを識別する、従来のCAPTCHAとは思想が異なる新しいタイプのCAPTCHA技術です。
  • ユーザーは何もすることがなく、視覚障害や言語障壁も関係ありません
This PR adds a new captcha to Joomla core. It's based on the concept of "proof of work": it presents a math task to the user's browser that the browser can solve automatically. It's not supposed to proof humanship of the user, but to proof that the user is willing to invest the necessary time to solve the task.
このプルリクエストは、Joomlaコアに新しいCAPTCHAを追加します。「プルーフ・オブ・ワーク」の概念に基づき、ユーザーのブラウザに数学的な課題を提示し、ブラウザが自動的に解決できるようにします。これは、ユーザーが人間であることを証明するのではなく、課題を解決するために必要な時間を費やす意思があることを証明するためのものです。(Google翻訳)[6.1] Add proof-of-work captcha #46514 | GitHub
  • 上記のとおり、「I’m not a robot」とありますが、スパマー側に人間である証明をさせるのではなく、計算処理という経済的負担をスパマーに負わせることで、断念させるそうです。