2026年10月22日

2026年10月22日

WordPressの安全なコーディング規約を徹底する方法

はじめに

この記事では、WordPressでの開発においてセキュリティを強化するために必要な安全なコーディング規約について詳しく解説します。WordPressの安全性は、プラグインやテーマの開発だけでなく、サイト全体の管理にも大きく影響します。

症状・背景

このテーマが必要になる主な場面:

  • <場面1>: 不正アクセスが疑われる場合
  • <場面2>: パッチを適用する必要がある場合
  • <場面3>: 新しいプラグインやテーマの導入を検討している場合
  • <場面4>: サイトの脆弱性スキャン結果で問題点が指摘された場合

手順・設定方法

ステップ1: WordPressサイトへのアクセス権限の確認と変更

# WordPress管理ディレクトリにSSHで接続します。
ssh user@yourdomain.com

# WordPress管理ディレクトリへ移動します。
cd /var/www/html/wp-admin/

# ファイルやディレクトリの権限を確認します。
ls -l

# 必要なファイルやディレクトリのアクセス権限を変更します。通常、wp-contentは750, wp-config.phpは644と設定することをお勧めします。
chown -R www-data:www-data /var/www/html/wp-content/
chmod 750 /var/www/html/wp-content/
chmod 644 /var/www/html/wp-config.php

ステップ2: .htaccessファイルのセキュリティ設定

# WordPressディレクトリに移動します。
cd /var/www/html/

# 現在の.htaccessファイルをバックアップコピーを作成します。
cp .htaccess .htaccess-backup

# 新しいセキュリティ設定を追加するための新しい.htaccessファイルを作成します。
nano .htaccess

# ファイルに次の内容を追加します:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# さらに以下のような追加設定を含めることもできます:
<Files wp-config.php>
Order Deny,Allow
Deny From All
</Files>

ステップ3: 安全なデータベース接続とクエリの使用

# MySQLのコマンドプロンプトに接続します。
mysql -u username -p

# WordPressのデータベースを選択します。
use wordpressdb;

# データベーステーブルに対してSQLインジェクションを防ぐために、プリペアドステートメントを使用します。
PREPARE stmt FROM 'SELECT * FROM wp_users WHERE user_login = ?';
SET @name = 'yourusername';
EXECUTE stmt USING @name;
DEALLOCATE PREPARE stmt;

ステップ4: 非公開ディレクトリの設定と定期的なスキャン実行

# WordPress管理ディレクトリにSSHで接続します。
ssh user@yourdomain.com

# wp-content/uploadsを非公開に変更するため、.htaccessファイルを作成または編集します。
nano /var/www/html/wp-content/uploads/.htaccess

# ファイルに次の内容を追加します:
Order Deny,Allow
Deny From All

# 管理者権限でスキャンツール(例えば,WPScan)の実行
sudo wpscan --url http://yourdomain.com --enumerate u

注意事項

  • <実践的な注意点1>: WordPressの最新バージョンを使用し、常にセキュリティパッチを適用すること。
  • <実践的な注意点2>: 不要なプラグインやテーマは削除または無効化して不要な機能からサイトを保護すること。
  • <セキュリティ上の注意>: データベース接続情報やシークレットキーは常に安全に管理し、適切なバックアップを取り続けること。
  • <パフォーマンス/運用上の注意>: 重要な設定変更の前に必ずテスト環境で動作を確認すること。

まとめ

1. <キー1>: WordPressサイトへのアクセス権限を適切に設定することで、不正アクセスのリスクを軽減することができます。

2. <キー2>: .htaccessファイルを使用して物理的なセキュリティ強化が可能となります。

3. <キー3>: SQLインジェクションからデータベースを守るためにはプリペアドステートメントを利用することが重要です。

4. <キー4>: ファイルやディレクトリの非公開化により、潜在的な攻撃に対する防御が強化されます。

5. <キー5>: 定期的にサイトをスキャンすることで、セキュリティ上の問題点を見つけることができます。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲