コアポイント
- WordPress開(kāi)発者は、すべてのデータを安全にしている場(chǎng)合は、可能な限りWordPress関數(shù)を使用する必要があります。
- SQLインジェクション、クロスサイトスクリプト(XSS)、およびクロスサイトリクエスト偽造(CSRF)は、開(kāi)発者がWordPressテーマを書(shū)くときに注意を払う必要がある一般的な脅威です。 WordPressテーマのセキュリティにとって、
- 検証、クリーニング、および脫出が重要です。入力データがフィルターをクリーンアップするか、データを保存する前に、データを保存することを確認(rèn)します。
- WordPressは、多くの組み込みの検証、クリーニング、エスケープ機(jī)能を提供します。これらの関數(shù)には、
is_email()
、username_exists()
、term_exists()
、validate_file()
、sanitize_email()
、sanitize_option()
、sanitize_text_field()
、sanitize_hex_color()
、wp_kses_post()
、esc_html()
、esc_url()
、esc_attr()
、esc_textarea()
、 、
、、
、、。
この記事は、Sitegroundとのコラボレーションで作成された一連の記事の一部です。 SitePointを可能にしたパートナーをサポートしてくれてありがとう。
WordPressがネットワーク共有の27%を占めることを考えると、セキュリティは、この人気のあるオープンソースプラットフォームでWebサイトを?qū)g行している人にとって最大の関心事です。 WordPressコアコードのセキュリティは専用の開(kāi)発チームによって維持されていますが、これは、WordPressの機(jī)能を拡張してほぼすべてのことを行うために、何千ものサードパーティのプラグインとテーマがある場(chǎng)合はそうではありません。脆弱性を備えた1つのプラグインまたはテーマだけが、何百萬(wàn)ものWebサイトに高いリスクをもたらす可能性があります。
信頼できるホスティングを使用しない限り、WordPressプラグインと定期的なセキュリティチェックの自動(dòng)更新を許可する信頼できるホスティングプロバイダー(パートナーSiteGroundなど)を使用しても、Webサイトのテーマとプラグインのセキュリティは完全にあなた次第ですWordPressプラグインと定期的なセキュリティチェックの自動(dòng)更新を可能にするプロバイダー(當(dāng)社のPartner Sitegroundなど)
この記事では、WordPressテーマ開(kāi)発に適用できるガイドラインとWordPress関數(shù)を紹介して、製品が作成されたときにユーザーの安全性を最初に配置できるようにします。強(qiáng)力なセキュリティ意識(shí)を持つ開(kāi)発者のための
原則 専用のWordPressプラグインとテーマ開(kāi)発者の場(chǎng)合、セキュリティは、コードのすべての行に最初に書(shū)いた要因です。 安全なWordPressテーマを書(shū)くための全體的なアプローチには、次の一般原則に焦點(diǎn)を當(dāng)てることが含まれます。- 安全であることが証明されるまで、すべてのデータを安全でないと扱います。
- 可能な限りWordPress関數(shù)を使用します。ほとんどのWordPress APIには組み込みのセキュリティメカニズムがあります。つまり、それらを使用すると、コードの脆弱性のリスクを大幅に減らすことができます。
- 最新のテクノロジーとベストプラクティスを使用して、コードを最新の狀態(tài)に保ちます。
に注意すること
注意を払う必要がある最も一般的な脅威は次のとおりです。
- SQLインジェクション:攻撃者が悪意のあるSQLコードを注入して、Webサイトのデータベースサーバーを制御します。
- Cross-Site Scripting(XSS):攻撃者は、悪意のあるJavaScriptコードをWebページに注入します。
- クロスサイトリクエスト偽造(CSRF):攻撃者は、ユーザーに認(rèn)証されたWebサイトで不要なアクションを?qū)g行するように強(qiáng)制します。
データの検証、クリーニング、エスケープ
ソース(ユーザー、ネットワークサービス、APIなど)からの入力データを受け入れる前に、期待を満たし、有効であることを確認(rèn)する必要があります。このタスクは、
クリーニング
ユーザー、ネットワークサービスなどからのデータのフィルタリングまたはクリーンアップを含む。これらはすぐにデータベースに保存されます。このプロセスでは、JavaScriptステートメント、特殊文字など、害を引き起こす可能性のあるデータからすべてを削除できます。エスケープ
特殊文字の削除、エンコードされたHTML文字など、データの安全な表示を保証することを含む。ここで推奨されるアプローチは、できるだけ遅く脫出することです。つまり、畫(huà)面にデータが表示される前に逃げることです。WordPressテーマで多くのクリーンアップを行い、脫出する必要があります。実際、セキュリティ上の理由から、最良の方法は、すべての動(dòng)的なデータ、つまりHTMLソースコードでハードコードされていないデータをクリーン/エスケープすることです。
WordPress検証function
多くの便利なPHP関數(shù)を使用して基本的な検証を?qū)g行できます。 たとえば、
変數(shù)が存在しないか、その値がfalse
に設(shè)定されているかどうかを確認(rèn)するには、を使用できます。
しかし、検証を簡(jiǎn)単にするために、WordPressはこれらの有用な機(jī)能を提供します。 empty()
- 関數(shù)を使用して、データが有効な電子メールアドレスであるかどうかを確認(rèn)できます。
-
例:
is_email( $email )
if ( is_email( 'test@domain.com' ) ) { echo '有效的電子郵件地址。'; }
-
有効なユーザー名を確認(rèn)するには、WordPressが
:
username_exists( $username )
を提供します$username = 'testuser'; if ( username_exists( $username ) ): echo "用戶(hù)名已存在。"; endif;
- タグ、カテゴリ、またはその他の分類(lèi)學(xué)的用語(yǔ)が存在することを確認(rèn)するには、
:
term_exists( $term, $taxonomy = '', $parent = null )
を使用できます。// 檢查類(lèi)別“cats”是否存在 $term = term_exists('cats', 'category'); if ($term !== 0 && $term !== null) { echo "“cats”類(lèi)別存在。"; }
- ファイルパスが有効であることを確認(rèn)するには(存在する場(chǎng)合はそうではありません)、
:
validate_file( $file, $allowed_files )
を使用します$path = 'uploads/2017/05/myfile.php'; // 返回 0(有效路徑) return validate_file( $path );
WordPress Cleanup/Escape Function ビルトインWordPress関數(shù)を使用してデータをクリーニングおよびエスケープすることは、これを行うための最も速くて安全な方法です。
以下は、WordPressテーマを開(kāi)発するときによく使用する機(jī)能です。
- 有効な電子メールアドレスで許可されていないすべての文字を削除します。これは、コーデックスエントリの例です:
sanitize_email( $email )
$sanitized_email = sanitize_email(' admin@example.com! '); // 將輸出:admin@example.com echo $sanitized_email;
- カスタマイザー入力からの値など、オプションの性質(zhì)に応じてオプション値をクリーンアップします。例は次のとおりです。
sanitize_option( $option, $value )
sanitize_option( 'admin_email', 'admin@test.com!' );
- ユーザーまたはデータベースが提供する文字列をクリーンアップしますが、それを使用して、単なるテキストにしたいデータをクリーンアップできます:
sanitize_text_field( $str )
// 輸出:標(biāo)題 echo sanitize_text_field('<h1>標(biāo)題</h1>');
- および
WordPressカスタマイザーのコンテキストで機(jī)能します。
sanitize_hex_color( $color )
sanitize_hex_color_no_hash( $color )
テーマは、ユーザーがさまざまなWebサイト要素の色を選択できるようにする場(chǎng)合に非常に便利です。最初の関數(shù)は、#シンボルが付けられた16進(jìn)の色の入力を検証しますが、2番目の関數(shù)は#なしでカラーデータを処理します。
WordPress.orgコードリファレンスの例:$wp_customize->add_setting( 'accent_color', array( 'default' => '#f72525', 'sanitize_callback' => 'sanitize_hex_color', ) );
フィルターコンテンツ、許可されたHTMLタグのみが殘ります。カスタマイザーのコンテキストでは、これはユーザーがHTML形式でテキストを入力できる場(chǎng)合に非常に便利です。
-
wp_kses_post( $data )
function yourtheme_sanitize_html( $input ) { return wp_kses_post( force_balance_tags( $input ) ); }
は、HTMLブロックを逃れる簡(jiǎn)単な方法です。たとえば、HTMLタグ內(nèi)にテキストを出力して、このテキスト自體にHTMLタグやその他の無(wú)効な文字が含まれていないことを確認(rèn)する場(chǎng)合は、次のように書(shū)くことができます。 -
esc_html( $text )
<h2><?php echo esc_html( $title ); ?></h2>
-
動(dòng)的出力HTML屬性の場(chǎng)合は<
esc_url( $url )
<a href="http://miracleart.cn/link/9e52112668804599bae71e241e4b4548'https://website.com' ); ?>">很棒的網(wǎng)站</a>
- を使用して、ユーザーがテキスト領(lǐng)域で入力したテキストを逃れることができます。
esc_attr( $text )
<a href="http://miracleart.cn/link/1649f854581e9c03bc2c4e06023c5b99'/' ) ); ?>" rel="home"></a>
リソース -
esc_textarea( $text )
以下の優(yōu)れたリソースは、WordPressテーマでセキュリティコードを作成するポイントに本當(dāng)に到達(dá)するのに非常に役立ちます:-
WordPress.orgテーママニュアルのテーマセキュリティ
- テーマセキュリティ
- 安全なライティングトピックガイド、フランククライン
- WordPress、Narayan Prustyのデータを清掃、脫出、検証します
- WordPressテーマ:XSSの脆弱性と安全なコーディングプラクティス、Tony Perez
- WordPressのセキュアプラグインとテーマの作成、Ben Lobaugh。
結(jié)論
セキュリティは、すべてのWordPress開(kāi)発者のトップでなければなりません。 WordPressは、テーマに挿入できる多數(shù)の既製の機(jī)能を提供することから、良いスタートを切ることができます。WordPressテーマの検証とエスケープ関數(shù)についての
FAQ WordPressコーディング基準(zhǔn)は何ですか、そしてなぜそれらが重要なのですか?
WordPressコーディング標(biāo)準(zhǔn)は、WordPressコードの一貫性と品質(zhì)を確保するために、WordPressによって策定された特定のルールとガイドラインのセットです。これらの標(biāo)準(zhǔn)は、コードが読み取り、理解、維持を容易にするため、重要です。また、一般的なエンコードエラーやセキュリティの脆弱性を防ぐのにも役立ちます。開(kāi)発者にとって、これらの標(biāo)準(zhǔn)に従うことは、テーマとプラグインがWordPressやその他のテーマとプラグインと互換性があることを確認(rèn)するために不可欠です。
WordPressコードを安全に編集する方法は?
WordPressコードの編集は、適切に行われない場(chǎng)合は危険です。テーマコードを変更するときにサブトピックを使用することをお?jiǎng)幛幛筏蓼?。これにより、元のテーマに影響を與えることなく変更を加えることができます。また、変更を加える前に、必ずWebサイトをバックアップしてください。 WordPressエディターの代わりに適切なコードエディターを使用して、コードを編集します。最後に、ライブサイトに適用する前に、ステージングサイトで変更をテストします。
定性分析におけるコードとトピックの違いは何ですか?
定性分析では、コードはデータのラベル付け、コンパイル、整理に使用されますが、トピックはデータのパターンと関係を識(shí)別するために使用されます。コードは通常、特定のデータを表す単語(yǔ)またはフレーズです。一方、トピックはより広範(fàn)であり、エンコードされたデータから生じるより大きな概念またはアイデアを表しています。
テーマコーディングとは何ですか?また、WordPressでどのように機(jī)能しますか?
テーマコーディングは、データのパターンまたはトピックを識(shí)別および分析するための定性的研究で使用される方法です。 WordPressでは、テーマコーディングは、特定のデザインまたは機(jī)能を備えたテーマを開(kāi)発するプロセスを參照できます。これには、トピックの意図したデザインまたは機(jī)能を反映する方法でコードを作成および整理することが含まれます。
WordPressの検証および脫出機(jī)能は何ですか?
検証および脫出機(jī)能は、WordPressのセキュリティ対策です。検証とは、ユーザーが入力したデータをチェックして、処理前に特定の條件を満たすことを確認(rèn)するプロセスです。 Escapeは、セキュリティの脆弱性を引き起こす可能性のある有害なデータを削除することにより、出力が安全であることを保証するプロセスです。これらの機(jī)能は、SQLインジェクションやクロスサイトスクリプト(XSS)などのセキュリティの問(wèn)題を防ぐために重要です。
WordPressでデータを検証してエスケープすることが重要なのはなぜですか?
WordPressのWebサイトを安全に保つためには、検証および脫出データが非常に重要です。これらのプロセスがなければ、あなたのウェブサイトを攻撃し、攻撃者があなたのウェブサイトに有害なデータを注入することができ、その結(jié)果、潛在的なデータ損失またはあなたのウェブサイトへの不正アクセスが得られます。
WordPressでデータを検証して脫出する方法は?
WordPressは、データを検証および逃げるためのいくつかの関數(shù)を提供します。たとえば、
sanitize_text_field()
関數(shù)を使用してテキスト入力を検証し、esc_html()
関數(shù)を使用してHTML出力をエスケープできます。ユーザー入力を処理したり、データをブラウザに出力したりするときは、必ずこれらの機(jī)能を使用してください。安全なWordPressコードを書(shū)くためのベストプラクティスは何ですか?
安全なWordPressコードを作成するためのいくつかのベストプラクティスには、WordPressコーディング標(biāo)準(zhǔn)に従うこと、すべてのデータの検証と脫出、NONCEを使用してリクエストのソースを検証し、アクションを?qū)g行する前にユーザー許可を確認(rèn)し、WordPress、テーマ、プラグインを維持することが含まれます。日付。
WordPressコーディング標(biāo)準(zhǔn)の詳細(xì)についてはどうすればよいですか?
WordPress Developer Manualは、WordPressコーディング標(biāo)準(zhǔn)を?qū)W習(xí)するための優(yōu)れたリソースです。標(biāo)準(zhǔn)の詳細(xì)な説明と例を提供します。また、WordPressコーディング標(biāo)準(zhǔn)をカバーする多くのオンラインチュートリアルとコースもあります。
WordPressをエンコードするときに避けるべき一般的な間違いは何ですか?
WordPressをエンコードするときに避けるべきいくつかの一般的な間違いは、WordPressエンコード標(biāo)準(zhǔn)に従わないこと、データの検証または脫出、ハードコード化されたURL、フォームの提出にNonCEを使用せず、WordPress、テーマ、プラグインを使用しないことを含めます。 。
以上がワードプレス関數(shù)が組み込まれた安全なテーマをコーディングしますの詳細(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衣類(lèi)リムーバー

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)

ホットトピック











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

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)効率を改善できます。

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)コンパイルを避けます。これらの手順に従って、シンプルなグーテンバーグブロックを段階的に実裝できます。

tosetupredirectsinwordsusitheTheTheTheTheTheTheThe、LocateTethefileNyinyOursite’sRootDirectoryAnddRedireCtRulesabovethe

WordPressでは、カスタム記事タイプを追加したり、固定リンク構(gòu)造を変更したりするときは、書(shū)き換えルールを手動(dòng)で更新する必要があります。この時(shí)點(diǎn)で、コードを介してflush_rewrite_rules()関數(shù)を呼び出して実裝できます。 1.この関數(shù)は、テーマまたはプラグインのアクティベーションフックに追加して、自動(dòng)的に更新できます。 2。CPTの追加、分類(lèi)、リンク構(gòu)造の変更など、必要に応じて1回のみ実行します。 3.パフォーマンスに影響を避けるために、頻繁に電話(huà)をかけないでください。 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メディアクエリを使用して、さまざまな畫(huà)面幅でスタイルの適応を?qū)g現(xiàn)し、モバイルファーストの原則に従ってスタイルを書(shū)き込み、一般的に使用されるブレークポイントには480px、768px、1024pxが含まれます。第三に、畫(huà)像とレイアウトを弾力的に処理し、最大幅を設(shè)定します。畫(huà)像に100%を設(shè)定し、固定幅の代わりにFlexBoxまたはグリッドレイアウトを使用します。最後に、ブラウザ開(kāi)発者ツールと実際のデバイスを介して完全にテストし、パフォーマンスを最適化し、応答を確保する

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