WordPressセキュリティ:NONCEを使用してテーマとプラグインコードを保護(hù)します
WordPressテーマまたはプラグインコードのセキュリティを保護(hù)することが重要であり、悪意のあるユーザーからの攻撃を効果的に防ぐことができます。 WordPressのフォームデータを掃除、脫出、検証する方法、およびWordPressテーマの品質(zhì)を改善するためにVIPスキャナーを使用する方法の前に説明しました。今日、私たちは、NONCE(1回限りのデジタル)がWordPressのテーマとプラグインを安全に保つのにどのように役立つかを探ります。
キーポイント
- WordPress Nonce、または「1回限りの使用番號(hào)」は、ユーザー要求を確認(rèn)し、悪意のある試みを防ぐことにより、WordPress Webサイトのセキュリティを強(qiáng)化するために使用される獨(dú)自のセキュリティトークンです。それらは、クロスサイトリクエストフォーファリー(CSRF)攻撃を防ぐのに特に役立ちます。
- nonceは、ユーザーセッションごとに一意のトークン、フォームの提出、またはajaxリクエストを生成することで機(jī)能します。このトークンは、リクエストを処理するときに確認(rèn)され、それが一致しない場(chǎng)合、リクエストは拒否されます。これにより、攻撃者がトークンを予測(cè)または亂用することが困難になります。 WordPressでNonceの作成は、WordPress関數(shù)
- を使用して達(dá)成されます。これは、保護(hù)される操作を表す単一の文字列パラメーターを受け入れます。検証nonceは、
wp_create_nonce()
関數(shù)を使用して行われます。これは、検証するノンセと関連する操作の2つのパラメーターを受け入れます。wp_verify_nonce()
nonceは、WordPressのAJAX要求に使用でき、CSRF攻撃を防ぐためにセキュリティの追加層を追加できます。 Nonceはユーザー固有でもあり、あるユーザーのために作成されたNonCEが別のユーザーに対して無(wú)効であることを確認(rèn)することにより、追加のセキュリティレイヤーを提供します。
wordpress nonceは次のように定義されています
…特定の種類の虐待(悪意またはその他)からURLやフォームを保護(hù)するのに役立つ「1回限りの使用番號(hào)」。
http://www.miracleart.cn/link/c5af1dfde10402285102771ad64b3dac WordPressでは、Nonceは技術(shù)的には數(shù)字ではありません(文字と數(shù)字のハッシュです)、悪意のあるユーザーがアクションを?qū)g行するのを防ぐのに役立ちます。
WordPress nonceの作業(yè)は、2つの部分に分かれています
nonce(hash value)を作成し、フォームまたはアクションを通じて送信し、
- nonceを確認(rèn)し、フォームデータを受け入れるか、アクションを?qū)g行します。
- たとえば、WordPress管理畫(huà)面の投稿を削除すると、URLに
- パラメーターが含まれていることに気付くでしょう。
_wpnonce
のnonce値を持っているかどうかを確認(rèn)します。 NonCEが存在しないか、期待値と一致しない場(chǎng)合、投稿は削除されません。 これにより、悪意のあるユーザーが多數(shù)の投稿を削除する可能性があります。たとえば、ノンセはID 542:に屬しているため、以下は機(jī)能しません。
http://www.miracleart.cn/link/322d830da1130169fb4ca1c7543799d0 http://www.miracleart.cn/link/dd4143061640d55fb312dd0ce8a76e http://www.miracleart.cn/link/9e0f9113b44003201076a9fade1b72d8
プラグインにWordPress Nonceを?qū)g裝する方法を見(jiàn)てみましょう。
WordPressプラグイン
を設(shè)定します獨(dú)自の設(shè)定畫(huà)面を備えた基本プラグインから始めましょう。設(shè)定畫(huà)面には、WordPressオプションテーブルに送信および保存できるフィールドがあります。
次のコードを新しいファイルに入力してくださいwp-content/plugins/implementing-wordpress-nonces/implementing-wordpress-nonces.php
:
// ... (插件代碼,與原文相同) ...
WordPress Management>
このアイテムをクリックすると、1つのフィールドのみで設(shè)定畫(huà)面に移動(dòng)されます。
任意の値を入力し、「保存」をクリックします。すべてが機(jī)能する場(chǎng)合は、確認(rèn)情報(bào)と入力した値が表示されます。
セキュリティの脆弱性を?qū)g証します
次のURLをWebブラウザアドレスバーに入力します(ドメイン名をWordPressのインストール場(chǎng)所に置き換えます):
http://www.miracleart.cn/link/0e143c3bef0f7759c230664c4dc905f8
注意何が起こったのですか?値は単にABCとして保存され、URLに直接アクセスしてWordPressにログインします。 の代わりにコードで
)を使用できますが(
を使用してセキュリティの問(wèn)題をより簡(jiǎn)単に実証します)、これは役に立ちません - 悪意のあるユーザーは引き続き自分自身を使用したり、クリックしてクリックすることができますこのリンクを使用すると、この畫(huà)面にPOSTリクエストを送信すると、オプション値が変更されます。
これは、クロスサイトリクエスト偽造(またはCSRF)と呼ばれます。悪意のあるWebサイト、電子メール、アプリケーションなどにより、ユーザーのWebブラウザーは不要な操作を?qū)g行します。
この攻撃が可能にならないように、WordPress Nonceを作成および検証します。 $_POST
$_REQUEST
非CE $_REQUEST
でプラグインを保護(hù)します
前述のように、このプロセスは2つのステップに分かれています。最初に、フォームで提出される非CEを作成する必要があります。次に、フォームを送信するときにNonCEを確認(rèn)する必要があります。
私たちのフォームでノンセフィールドを作成するには、wp_nonce_field()
:
ノンセの隠しフォームフィールドを取得または表示します...フォームリクエストのコンテンツが現(xiàn)在のサイトからではなく、現(xiàn)在のサイトから來(lái)ていることを確認(rèn)するために使用されます...
入力ボタンの上に次のコードを追加します
// ... (插件代碼,與原文相同) ...
4つのパラメーターを受け入れる - 最初の2つが最も重要です:wp_nonce_field
- :これにより、実行中の特定の操作が決定され、一意である必要があります。複數(shù)の操作が実行される場(chǎng)合があるため、プラグイン名を操作のプレフィックスとして使用することをお?jiǎng)幛幛筏蓼?。この?chǎng)合、私たちは何かを保存しているので、
$action
implementing_wordpress_nonces_save
を使用します - :これは、この関數(shù)によって作成された隠されたフィールドの名前を決定します。上記のように、プラグイン名をそのプレフィックスとして使用したので、
$name
implementing_wordpress_nonces_nonce
に名前を付けました。
:wp_verify_nonce( $name, $action )
を使用して実裝する必要があります。
ノンセが正しいことを確認(rèn)し、指定された操作と比較して期限切れになっていないことを確認(rèn)します。この関數(shù)は、現(xiàn)在のリクエストで送信されたNONCEを検証するために使用されます。通常、プラグインの「保存設(shè)定」部分を次のコードに置き換えます。PHP変數(shù)を介してアクセスされます。
$_REQUEST
admin_screen()
このコードは、次の操作を?qū)g行します:
wp_nonce_field( 'implementing_wordpress_nonces_save', 'implementing_wordpress_nonces_nonce' );
最初に、何かを提出したかどうかをチェックします。
- それから、私たちの非CEフィールドが存在するかどうかをチェックし、もしそうなら、私たちが期待するアクションに基づいてノンセの値を検証しようとします。
- チェックが通過(guò)した場(chǎng)合は、オプションを更新します。
- チェックが失敗した場(chǎng)合、「無(wú)効なNonceが指定した」というメッセージで403エラーをスローします。
- 私たちのノンセが作成され、検証されていることを確認(rèn)するには、「悪意のある」ダイレクトURLにアクセスするようにもう一度試してみましょう。
。
>ノンセが実裝されており、検証されている場(chǎng)合、「無(wú)効なノンセ仕様」通知が表示されます:
...(殘りは元のテキストと同じですが、言語(yǔ)と表現(xiàn)は、元の意図を変えないように詳細(xì)に調(diào)整されています)....
以上がWordPress noncesとは何ですか?の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫(huà)像を無(wú)料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

ドリームウィーバー CS6
ビジュアル Web 開(kāi)発ツール

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

ホットトピック











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

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)合することに注意を払う必要があります。

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

WordPressでは、カスタム記事タイプを追加したり、固定リンク構(gòu)造を変更したりするときは、書(shū)き換えルールを手動(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)化されていないシナリオに適した更新もトリガーできます。

tosetupredirectsinwordsusitheTheTheTheTheTheTheThe、LocateTethefileNyinyOursite’sRootDirectoryAnddRedireCtRulesabovethe

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

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

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