このチュートリアルでは、Google RecaptchaをWordPressログインシステムに統(tǒng)合するWordPressプラグインの構(gòu)築を示しています。 プラグインはHTTP APIを使用してRecaptChaにPOSTリクエストを送信し、ユーザーCaptCha Responseを検証します。
プラグインの開発には、Recaptchaキーのプロパティを備えたPHPクラスの作成、ログインフォームにCaptchaを追加し、応答の検証が含まれます。コードは、必要なパラメーターを使用して
にPOSTリクエストを送信する方法を示しています。 これにより、人間をボットと區(qū)別し、不正なアクセスの試みを防ぐことにより、ウェブサイトのセキュリティが強(qiáng)化されます。以前のチュートリアルでは、WordPress HTTP APIを調(diào)査しました。 このチュートリアルは、その上に構(gòu)築され、WordPressプラグイン內(nèi)でAPI消費(fèi)を紹介します。 以前は、HTTP APIを使用してWhois and Social Data WordPressウィジェットを構(gòu)築しました。
以下は、統(tǒng)合されたcaptchaを備えたWordPressログインフォームのスクリーンショットです:https://www.google.com/recaptcha/api/verify
1。プラグインヘッダー:
2。 PHPクラス:
PHPクラスを作成して、Recaptchaキーを保存します:<?php /* Plugin Name: WP Login Form with reCAPTCHA Plugin URI: https://www.sitepoint.com Description: Adds Google's reCAPTCHA to WordPress Login Version: 1.0 Author: Agbonghama Collins Author URI: http://w3guy.com License: GPL2 */
3。プラグインのインスタンス化:
最後に、クラスをインスタンス化します:
class reCAPTCHA_Login_Form { private $public_key, $private_key; public function __construct() { $this->public_key = '6Le6d-USAAAAAFuYXiezgJh6rDaQFPKFEi84yfMc'; $this->private_key = '6Le6d-USAAAAAKvV-30YdZbdl4DVmg_geKyUxF6b'; add_action( 'login_form', array( $this, 'captcha_display' ) ); add_action( 'wp_authenticate_user', array( $this, 'validate_captcha_field' ), 10, 2 ); } public function captcha_display() { ?> <??> <noscript> <iframe src="https://www.google.com/recaptcha/api/noscript?k=<?=$this->public_key?>" height="300" width="300" frameborder="0"></iframe><br><br> <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> <input type="hidden" name="recaptcha_response_field" value="manual_challenge"> </noscript> <?php } public function validate_captcha_field($user, $password) { if ( ! isset( $_POST['recaptcha_response_field'] ) || empty( $_POST['recaptcha_response_field'] ) ) { return new WP_Error( 'empty_captcha', 'CAPTCHA cannot be empty' ); } if( isset( $_POST['recaptcha_response_field'] ) && $this->recaptcha_response() === 'false' ) { return new WP_Error( 'invalid_captcha', 'Incorrect CAPTCHA response' ); } return $user; } public function recaptcha_response() { $challenge = isset($_POST['recaptcha_challenge_field']) ? esc_attr($_POST['recaptcha_challenge_field']) : ''; $response = isset($_POST['recaptcha_response_field']) ? esc_attr($_POST['recaptcha_response_field']) : ''; $remote_ip = $_SERVER["REMOTE_ADDR"]; $post_body = array( 'privatekey' => $this->private_key, 'remoteip' => $remote_ip, 'challenge' => $challenge, 'response' => $response ); return $this->recaptcha_post_request( $post_body ); } public function recaptcha_post_request( $post_body ) { $args = array( 'body' => $post_body ); $request = wp_remote_post( 'https://www.google.com/recaptcha/api/verify', $args ); $response_body = wp_remote_retrieve_body( $request ); $answers = explode( "\n", $response_body ); $request_status = trim( $answers[0] ); return $request_status; } } new reCAPTCHA_Login_Form();
これにより、プラグインコードが完成します。 使用するために完全なプラグインをダウンロードしてください。 これは、プラグインでのWordPress HTTP API使用量を示すシリーズの一部です。
(擬似オリジナリ性のために書き直しを必要としないため、簡(jiǎn)潔にするためにFAQSセクションが削除されました。コンテンツは事実であり、変更は必要ありません。以上がキャプチャをWordPressログインフォームと統(tǒng)合しますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SublimeText3 中國(guó)語版
中國(guó)語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

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

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

ホットトピック











Gutenbergブロックを作成するための鍵は、その基本構(gòu)造を理解し、フロントエンドリソースとバックエンドリソースを正しく接続することです。 1.開発環(huán)境の準(zhǔn)備:ローカルWordPress、node.js、 @wordpress/scriptsをインストールします。 2。PHPを使用してブロックを登録し、JavaScriptを使用してブロックの編集ロジックを定義します。 3. npmを介してJSファイルを構(gòu)築して変更を行います。 4.問題に遭遇したときにパスとアイコンが正しいかどうかを確認(rèn)するか、リアルタイムのリスニングを使用してビルドを使用して、繰り返し手動(dòng)コンパイルを避けます。これらの手順に従って、シンプルなグーテンバーグブロックを段階的に実裝できます。

GITでWordPressプロジェクトを管理する場(chǎng)合、バージョンコントロールにテーマ、カスタムプラグイン、構(gòu)成ファイルのみを含める必要があります。 .gitignoreファイルをセットアップして、ディレクトリ、キャッシュ、および機(jī)密構(gòu)成のアップロードを無視します。 WebhooksまたはCIツールを使用して自動(dòng)展開を?qū)g現(xiàn)し、データベース処理に注意を払います。共同開発のために2つのブランチポリシー(Main/Develop)を使用します。そうすることで、競(jìng)合を回避し、セキュリティを確保し、コラボレーションと展開効率を改善できます。

WordPressテスト環(huán)境を使用して、正式に発売される前に新機(jī)能、プラグイン、またはテーマのセキュリティと互換性を確保し、実際のWebサイトに影響を與えないようにします。テスト環(huán)境を構(gòu)築する手順には、次のものがあります。ローカルサーバーソフトウェア(LocalWP、XAMPPなど)のダウンロードとインストール、サイトの作成、データベースと管理者アカウントの設(shè)定、テスト用のテーマとプラグインのインストール。正式なWebサイトをテスト環(huán)境にコピーする方法は、プラグインを介してサイトをエクスポートし、テスト環(huán)境をインポートし、ドメイン名を置き換えることです。それを使用する場(chǎng)合、実際のユーザーデータを使用せず、定期的に役に立たないデータのクリーニング、テストステータスのバックアップ、時(shí)間內(nèi)に環(huán)境のリセット、および違いを減らすためにチームの構(gòu)成を統(tǒng)合することに注意を払う必要があります。

tosetupredirectsinwordsusitheTheTheTheTheTheTheThe、LocateTethefileNyinyOursite’sRootDirectoryAnddRedireCtRulesabovethe

WordPressでは、カスタム記事タイプを追加したり、固定リンク構(gòu)造を変更したりするときは、書き換えルールを手動(dòng)で更新する必要があります。この時(shí)點(diǎn)で、コードを介してflush_rewrite_rules()関數(shù)を呼び出して実裝できます。 1.この関數(shù)は、テーマまたはプラグインのアクティベーションフックに追加して、自動(dòng)的に更新できます。 2。CPTの追加、分類、リンク構(gòu)造の変更など、必要に応じて1回のみ実行します。 3.パフォーマンスに影響を避けるために、頻繁に電話をかけないでください。 4。マルチサイト環(huán)境では、必要に応じて各サイトを個(gè)別に更新します。 5.一部のホスティング環(huán)境は、ルールの保存を制限する場(chǎng)合があります。さらに、[保存]をクリックして「設(shè)定>ピン留めリンク」ページにアクセスすると、自動(dòng)化されていないシナリオに適した更新もトリガーできます。

usingsmtpforwordpressemailsimprovesdeleverability andReliability comparedtothededefaultphpmail()function.1.smtpauthenticateswithyouremailserver、reducespamplacement.2.somehostsdisablephpmail()、makesmtpn devering

応答性のあるWordPressテーマデザインを?qū)g裝するには、まず、HTML5とモバイルファーストメタタグを使用し、header.phpにビューポート設(shè)定を追加して、モバイル端子が正しく表示されるようにし、HTML5構(gòu)造タグでレイアウトを整理します。第二に、CSSメディアクエリを使用して、さまざまな畫面幅でスタイルの適応を?qū)g現(xiàn)し、モバイルファーストの原則に従ってスタイルを書き込み、一般的に使用されるブレークポイントには480px、768px、1024pxが含まれます。第三に、畫像とレイアウトを弾力的に処理し、最大幅を設(shè)定します。畫像に100%を設(shè)定し、固定幅の代わりにFlexBoxまたはグリッドレイアウトを使用します。最後に、ブラウザ開発者ツールと実際のデバイスを介して完全にテストし、パフォーマンスを最適化し、応答を確保する

IntegrateThird-PartyApisIntOwordPress、次のようになります。
