キーテイクアウト
- キャプチャを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() >>>>>
のコードです
<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></span>
recaptcha_response()がどのように機能するかを説明させてください<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>
投稿リクエストはエンドポイントに送信されますhttp://www.google.com/recaptcha/api/verify次のパラメーターを使用して。<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>></strong></span>ERROR<span><span></span>></span>: CAPTCHA should not be empty'; </span> } elseif ( isset( $_GET['captcha'] ) && $_GET['captcha'] == 'failed' ) { echo '<span><span><span><strong>></strong></span>ERROR<span><span></span>></span>: CAPTCHA response was incorrect'; </span> } echo <span><span><captcha_form> </captcha_form></span></span><span> <span><style type>='text/css'</style></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></span>></span> </span> <span><span><span><script> type<span >="text/javascript"</script></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></span>></span> </span> <span><span><span><noscript>></noscript></span> </span> <span><span><span><iframe> src<span>="http://www.google.com/recaptcha/api/noscript?k=<span>= $this->public_key; ?></span>"</span> </iframe></span></span><span> <span>height<span>="300"</span> width<span>="300"</span> frameborder<span>="0"</span>></span><span><span></span>></span> </span> <span><span><span><br>></span> </span> <span><span><span><textarea> name<span>="recaptcha_challenge_field"</span> rows<span>="3"</span> cols<span>="40"</span>></textarea></span> </span> <span><span><span></span>></span> </span> <span><span><span><input> type<span>="hidden"</span> name<span>="recaptcha_response_field"</span> </span></span><span> <span>value<span>="manual_challenge"</span>></span> </span> <span><span><span></span>></span> </span> <span><span><span><input> 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; }</span></span></span></span></span></span></span>
の値に挑戦します。フォームから送信されます応答
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 サイトの他の関連記事を参照してください。

このチュートリアルでは、ドリブルAPIを活用して、オブジェクト指向プログラミング(OOP)の原則を使用してWordPressプラグインを構築します。 元の意味と構造を維持しながら、明確さと簡潔さのためにテキストを洗練しましょう。 オブジェクトオリ

PHPデータをjavaScriptに渡すためのベストプラクティス:wp_localize_scriptとwp_add_inline_scriptの比較 PHPファイルに静的文字列内にデータを保存することが推奨される練習です。 JavaScriptコードでこのデータが必要な場合は、INCORPORAT

このガイドは、WordPress PDFプラグインを使用して、WordPressの投稿とページにPDFファイルを埋め込み、保護する方法を示しています。 PDFは、カタログからプレゼンテーションまで、さまざまなコンテンツに対してユーザーフレンドリーで普遍的にアクセス可能な形式を提供します。 この方法は

WordPressは、初心者が簡単に始めることができます。 1.バックグラウンドにログインした後、ユーザーインターフェイスは直感的であり、シンプルなダッシュボードは必要なすべての関数リンクを提供します。 2。基本操作には、コンテンツの作成と編集が含まれます。 WysiWygエディターは、コンテンツの作成を簡素化します。 3.初心者は、プラグインとテーマを介してウェブサイトの機能を拡張でき、学習曲線は存在しますが、練習を通じて習得できます。

人々は、その力と柔軟性のためにWordPressを使用することを選択します。 1)WordPressは、さまざまなWebサイトのニーズに適した、使いやすさとスケーラビリティを備えたオープンソースのCMSです。 2)豊富なテーマとプラグイン、巨大なエコシステム、強力なコミュニティサポートがあります。 3)WordPressの作業原則は、テーマ、プラグイン、コア関数に基づいており、PHPとMySQLを使用してデータを処理し、パフォーマンスの最適化をサポートします。

WordPressのコアバージョンは無料ですが、使用中に他の料金が発生する場合があります。 1。ドメイン名とホスティングサービスには支払いが必要です。 2。高度なテーマとプラグインが充電される場合があります。 3.プロフェッショナルサービスと高度な機能が請求される場合があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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

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

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック









