キャプチャをWordPressコメントフォームと統合します
キーテイクアウト
- キャプチャをWordPressコメントフォームと統合すると、ボットがスパムコメントの送信を阻止したり、これらのコメントのモデレートと削除に費やした時間とリソースを節約できます。 チュートリアルでは、WordPress HTTP APIをプラグインで使用する方法を示し、WordPressコメントフォームにフォームフィールドを追加し、カスタムフィールドに追加された値を検証および利用します。
- チュートリアルで開発されたCaptchaプラグインには、Captchaフォームが空のままになっている場合、またはユーザーがチャレンジに失敗した場合、エラーメッセージが含まれています。また、Captchaチャレンジに失敗した提出されたコメントを削除します。 チュートリアルでは、WordPressコメントシステムの汎用性を強調しているため、ユーザーはコメントフォームに追加のフォームフィールドを追加して、言及されたフィルターとアクションのおかげで目的の機能を実装できます。
- 長年にわたり、WordPressは人気が高まっているため、スパマーの標的になっています。
- 残念ながら、WordPressなどの人気のあるプラットフォームで構築されたWebサイトを探してWebをクロールする目的である自動化されたソフトウェアが存在し、数百、数千のスパムコメントを提出することが存在します。スパムのコメントは非常に迷惑です。彼らは、それらをモデレートして削除することに関して、私たちの貴重な時間を消費します。 私と同じようにスパムコメントが嫌いであり、それらと戦う方法を知りたいと思っています。ボットがスパムのコメントを送信するのを阻止する1つの方法は、Captchaをコメントフォームに統合することです。
WP-RecaptchaやSecurimage-WP-FixedなどのWordPressプラグインディレクトリには、多くのCaptchaプラグインがあります。 このチュートリアルの目的は、さらに別のCaptchaプラグインを作成するのではなく、次のことです。
WordPress HTTP APIをプラグインでどのように使用できるかを示します。
WordPressコメントフォームに追加のフォームフィールドを含める方法。カスタムフィールドに追加された値を検証し、利用する方法
これ以上苦労せずに、プラグインの開発を始めましょう。
プラグインの開発
最初に、Recaptchaに向かい、ドメイン名を登録して、パブリックおよびプライベートAPIキーをつかんでください。
プラグインヘッダーを含めます。
- Recaptchaのプライベートキーと公開キーを保存する3つのプロパティとCaptchaエラーメッセージを作成するクラスを作成します(Captchaフォームが空のままで、ユーザーがチャレンジに失敗したときにエラーが生成されます)。
- クラスマジックコンストラクターメソッドには、2組のアクションとフィルターフックが含まれます。
- コードの説明:まず、私のRecaptchaのパブリックキーとプライベートキーはクラスのプロパティに保存されます。
Recaptchaチャレンジを出力するCAPTCHA_DISPLAY()メソッドは、comment_formアクションによってコメントフォームに追加されます。
wp_headアクションには、Captchaチャレンジに失敗した送信されたコメントを削除するコールバック関数delete_failed_captcha_comment()が含まれています。フィルターpreprocess_commentは、captchaフィールドが空にならないようにし、答えが正しいことを確認するために、validate_captcha_field()メソッドを呼び出します。
フィルターコメント_POST_REDIRECT CALL REDIRECT_FAIL_CAPTCHA_COMMENT()コメントRedirection URLにいくつかのクエリパラメーターを追加します。Captcha Challengeを出力するCaptcha_display()のコードは次のとおりです。 さらに、現在のページURLに添付されているクエリ文字列があるかどうかを確認し、Redirect_Fail_Captcha_comment() >>>>>
のコードです
recaptcha_response()がどのように機能するかを説明させてください<span><span><?php </span></span><span> </span><span><span>/* </span></span><span><span>Plugin Name: Add reCAPTCHA to comment form </span></span><span><span>Plugin URI: https://www.sitepoint.com </span></span><span><span>Description: Add Google's reCAPTCHA to WordPress comment form </span></span><span><span>Version: 1.0 </span></span><span><span>Author: Agbonghama Collins </span></span><span><span>Author URI: http://w3guy.com </span></span><span><span>License: GPL2 </span></span><span><span>*/</span></span>
ログイン後にコピー投稿リクエストはエンドポイントに送信されますhttp://www.google.com/recaptcha/api/verify次のパラメーターを使用して。<span>class Captcha_Comment_Form { </span> <span>/** <span>@type string private key|public key */</span> </span> <span>private $public_key, $private_key; </span> <span>/** <span>@type string captcha errors */</span> </span> <span>private static $captcha_error;</span>
ログイン後にコピー<span>/** class constructor */ </span> <span>public function __construct() { </span> <span>$this->public_key = '6Le6d-USAAAAAFuYXiezgJh6rDaQFPKFEi84yfMc'; </span> <span>$this->private_key = '6Le6d-USAAAAAKvV-30YdZbdl4DVmg_geKyUxF6b'; </span> <span>// adds the captcha to the WordPress form </span> <span>add_action( 'comment_form', array( $this, 'captcha_display' ) ); </span> <span>// delete comment that fail the captcha challenge </span> <span>add_action( 'wp_head', array( $this, 'delete_failed_captcha_comment' ) ); </span> <span>// authenticate the captcha answer </span> <span>add_filter( 'preprocess_comment', array( $this, 'validate_captcha_field' ) ); </span> <span>// redirect location for comment </span> <span>add_filter( 'comment_post_redirect', array( $this, 'redirect_fail_captcha_comment' ), 10, 2 ); </span> <span>}</span>
ログイン後にコピーCAPTCHAを解決したユーザーのIPアドレスをremoteip。
recaptcha_challenge_fieldの値に挑戦します。フォームから送信されます/** Output the reCAPTCHA form field. */ public function captcha_display() { if ( isset( $_GET['captcha'] ) && $_GET['captcha'] == 'empty' ) { echo '<span><span><span><strong</span>></span>ERROR<span><span></strong</span>></span>: CAPTCHA should not be empty'; </span> } elseif ( isset( $_GET['captcha'] ) && $_GET['captcha'] == 'failed' ) { echo '<span><span><span><strong</span>></span>ERROR<span><span></strong</span>></span>: CAPTCHA response was incorrect'; </span> } echo <<<span><span><span><CAPTCHA_FORM</span> </span></span><span> <span><style type<span>='text/css'</span>></span><span><span><span>#submit</span> { </span></span></span><span><span> <span>display: none; </span></span></span><span><span> <span>}</span></span><span><span></style</span>></span> </span> <span><span><span><script</span> type<span>="text/javascript"</span> </span></span><span> <span>src<span>="http://www.google.com/recaptcha/api/challenge?k=<span><?= $this->public_key; ?></span>"</span>></span><span> </span></span><span><span> </span><span><span></script</span>></span> </span> <span><span><span><noscript</span>></span> </span> <span><span><span><iframe</span> src<span>="http://www.google.com/recaptcha/api/noscript?k=<span><?= $this->public_key; ?></span>"</span> </span></span><span> <span>height<span>="300"</span> width<span>="300"</span> frameborder<span>="0"</span>></span><span><span></iframe</span>></span> </span> <span><span><span><br</span>></span> </span> <span><span><span><textarea</span> name<span>="recaptcha_challenge_field"</span> rows<span>="3"</span> cols<span>="40"</span>></span> </span> <span><span><span></textarea</span>></span> </span> <span><span><span><input</span> type<span>="hidden"</span> name<span>="recaptcha_response_field"</span> </span></span><span> <span>value<span>="manual_challenge"</span>></span> </span> <span><span><span></noscript</span>></span> </span> <span><span><span><input</span> name<span>="submit"</span> type<span>="submit"</span> id<span>="submit-alt"</span> tabindex<span>="6"</span> value<span>="Post Comment"</span>/></span> </span>CAPTCHA_FORM; }
ログイン後にコピー応答
recaptcha_response_fieldの値は、フォームを介して送信されます
- フォームによって送信されたデータの課題と応答の投稿データは、それぞれ$課題と$の応答に保存されます。
$ _SERVER ["Remote_addr"]ユーザーのIPアドレスをキャプチャし、$ remote_ip。
- wordpress http api投稿パラメーターは配列形式であるため、以下のコード。
- recaptcha_post_request()は、postパラメーター/ボディを受け入れるHTTP APIのラッパー関数であり、Recaptcha APIにリクエストを行い、CAPTCHAテストが渡され、そうでない場合はtrueを返します。
- Captchaチャレンジに失敗したか、フィールドを空のままにしたユーザーが作成したコメントは、delete_failed_captcha_comment()によって削除されます
- 最後に、プラグインクラスを閉じます。 プラグインクラスのコーディングが完了しました。クラスを機能させるには、そうするようにインスタンス化する必要があります:
wlap up
このチュートリアルの最後に、コメントフォームに追加のフォームフィールドを追加し、言及されたフィルターとアクションのおかげでコメントシステムに希望するすべての機能を実装できるはずです。WordPressサイトでプラグインを使用する場合、またはコードを詳細に調査する場合は、GitHubからプラグインをダウンロードします。
私が再びあなたの道に来るまで、幸せなコーディング!キャプチャをWordPressコメントフォームと統合することに関するよくある質問(FAQ)
CaptchaをWordPressコメントフォームと統合することの重要性は何ですか?
キャプチャをWordPressコメントフォームと統合することは、いくつかの理由で重要です。第一に、それはあなたのウェブサイトを乱雑にして本物のユーザーを阻止することができるスパムのコメントを防ぐのに役立ちます。第二に、セキュリティの追加レイヤーを追加し、ボットや自動化されたスクリプトからサイトを保護します。最後に、スパムコメントのモデレートと削除に費やす時間とリソースを節約します。フォームは、使用しているCaptchaプラグインの設定を介して実行できます。ほとんどのプラグインは、Captchaの複雑さ、デザイン、レイアウトを変更するオプションを提供します。独自のカスタムCaptchaを作成することもできます。これらには、スパムフィルタリングサービスであるAkismet、およびHoneypotが含まれます。これは、非表示のフォームフィールドと対話することでボットをだまして自分自身を明らかにする方法です。 🎜>絶対に。 Captchaは、連絡先フォーム、登録フォーム、ログインフォームなど、WordPressサイトの任意のフォームと統合できます。これにより、サイト全体に追加のセキュリティとスパム予防が提供されます。
CaptchaがWordPressコメントフォームに取り組んでいない場合はどうすればよいですか?最初に、プラグインが適切にインストールされ、アクティブ化されていることを確認します。問題が続く場合は、ブラウザのキャッシュをクリアしたり、他のプラグインを無効にして競合があるかどうかを確認してみてください。アクセス可能で、オーディオキャプチャまたはロジックベースのCaptchaを使用することを検討してください。これにより、ユーザーに簡単な質問に答えるように依頼します。また、CaptchaプラグインがWebコンテンツアクセシビリティガイドライン(WCAG)に準拠していることを確認してください。
キャプチャはあらゆる種類のスパムに対して効果的ですか?
キャプチャはボット生成スパムの防止に非常に効果的ですが、人間で生成されたスパムに対してそれほど効果的ではないかもしれません。このために、コメントモデレーションや特定の単語やIPアドレスのブラックリストなどの追加の測定値を使用することを検討してください。
CaptchaをWordPressコメントフォームと統合することはサイトのパフォーマンスに影響しますか?サイトのパフォーマンスに大きく影響しないでください。ただし、他のプラグインと同様に、いくつかのリソースを使用します。スローダウンに気付いた場合は、軽量のCaptchaプラグインを使用するか、他の方法でサイトのパフォーマンスを最適化することを検討してください。プラグインを使用せずにCaptchaをWordPressコメントフォームに統合することができます。これは、高度なコーディング知識が必要であり、ほとんどのユーザーには推奨されません。プラグインを使用すると、プロセスが簡素化され、Captchaが正しく実装されるようになります。これにより、最新のセキュリティ機能があり、プラグインがWordPressの最新バージョンと互換性があることが保証されます。
以上がキャプチャをWordPressコメントフォームと統合しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











WordPressの記事リストを調整するには4つの方法があります。テーマオプションを使用し、プラグイン(投稿タイプの注文、WP投稿リスト、ボックスのものなど)を使用し、コード(functions.phpファイルに設定を追加)を使用するか、WordPressデータベースを直接変更します。

ブログは、人々が自分の意見、意見、意見をオンラインで表現するための理想的なプラットフォームです。多くの初心者は自分のウェブサイトを構築することに熱心ですが、技術的な障壁やコストの問題を心配することをためらっています。ただし、プラットフォームが初心者の能力とニーズを満たすために進化し続けるにつれて、今まで以上に容易になり始めています。 この記事では、テーマの選択からプラグインの使用まで、セキュリティとパフォーマンスを向上させ、独自のWebサイトを簡単に作成できるように、WordPressブログを構築する方法を段階的に導きます。 ブログのトピックと方向を選択してください ドメイン名を購入したり、ホストを登録する前に、カバーする予定のトピックを特定することをお勧めします。個人的なウェブサイトは、旅行、料理、製品のレビュー、音楽、またはあなたの興味を引き起こす趣味を中心に展開できます。あなたが本当に興味を持っている領域に焦点を当てることは継続的な執筆を奨励することができます

最近、ユーザーがお気に入りの投稿をパーソナライズされたライブラリに保存できるようにすることで、ユーザー向けのパーソナライズされたエクスペリエンスを作成する方法を示しました。一部の場所で名前を使用することで、パーソナライズされた結果を別のレベルに引き上げることができます(つまり、ウェルカム画面)。幸いなことに、WordPressにより、ユーザーのログインに関する情報を簡単に入手できます。この記事では、現在ログインしているユーザーに関連する情報を取得する方法を紹介します。 get_currentuserinfo()を使用します。 関数。これは、テーマ(ヘッダー、フッター、サイドバー、ページテンプレートなど)のどこでも使用できます。それが機能するためには、ユーザーをログインする必要があります。したがって、使用する必要があります

親カテゴリアーカイブページに子カテゴリを表示する方法を知りたいですか?分類アーカイブページをカスタマイズするときは、訪問者にとってより便利にするためにこれを行う必要がある場合があります。この記事では、親カテゴリアーカイブページに子カテゴリを簡単に表示する方法を示します。サブカテゴリが親カテゴリアーカイブページに表示されるのはなぜですか?親カテゴリアーカイブページにすべての子カテゴリを表示することにより、訪問者にとってより一般的で便利になります。たとえば、本に関するWordPressのブログを実行し、「テーマ」と呼ばれる分類法を持っている場合、「小説」、「ノンフィクション」などのサブ課題を追加して、読者ができるようにすることができます。

過去には、拡張後のプラグインを使用してWordPressの投稿を期限切れにする方法を共有してきました。さて、Activity List Webサイトを作成するとき、このプラグインは非常に便利であることがわかりました。期限切れのアクティビティリストを簡単に削除できます。第二に、このプラグインのおかげで、有効期限後の日付までに投稿を並べ替えることも非常に簡単です。この記事では、WordPressの有効期限後の日付で投稿を並べ替える方法を紹介します。プラグインの変更を反映してカスタムフィールド名を変更するためのコードを更新しました。コメントで私たちに知らせてくれたTajimに感謝します。特定のプロジェクトでは、イベントをカスタムポストタイプとして使用します。今

WordPress Webサイトやソーシャルメディアアカウントを自動化する方法をお探しですか? 自動化を使用すると、WordPressのブログ投稿やFacebook、Twitter、LinkedIn、Instagramなどで自動的に共有できます。 この記事では、IFTTT、Zapier、およびUncanny Automatorを使用してWordPressとソーシャルメディアを簡単に自動化する方法を紹介します。 WordPressとソーシャルメディアを自動化する理由 WordPreを自動化します

ユーザーの1人が、フッターにクエリの数とページの読み込み時間を表示する方法を他のWebサイトに尋ねました。これをウェブサイトのフッターでよく見ることがよくあり、「1.248秒で64クエリ」のようなものを表示する場合があります。この記事では、WordPressにクエリの数とページの読み込み時間を表示する方法を紹介します。テーマファイル(たとえば、footer.php)で好きな場所に次のコードを貼り付けます。クエリエシン

WordPressホストを使用してWebサイトを構築するには、次のようにする必要があります。信頼できるホスティングプロバイダーを選択します。ドメイン名を購入します。 WordPressホスティングアカウントを設定します。トピックを選択します。ページと記事を追加します。プラグインをインストールします。ウェブサイトをカスタマイズします。あなたのウェブサイトを公開します。
