WordPressのセキュリティを高めるために、Apache2.4系で推奨される.htaccess
の記述方法。画像直リンク禁止、管理画面アクセス制限、User-Agent 拒否などを行う。
画像直リンク禁止
# Referer Deny
<FilesMatch "\.(gif|jpg|jpeg|png)$">
SetEnvIf Referer "http://sunakoto.come" authoritative_site
Require env authoritative_site
</FilesMatch>
SetEnvIf Referer リンク元情報 設定する環境変数
ヘッダーに含まれる「Referer」を確認して正しいリンク元情報と比較する。正しい場合には環境変数を設定するauthoritative_site
は任意の環境変数
Require env 環境変数
指定の環境変数が定義されていれば許可する
User-Agent 拒否
SetEnvIf User-Agent "SemrushBot" deny_bot
SetEnvIf User-Agent "BLEXBot" deny_bot
SetEnvIf User-Agent "DomainCrawler" deny_bot
<RequireAll>
Require all Granted
Require not env deny_bot
</RequireAll>
SetEnvIf 属性 属性値
SetEnvIf ディレクティブはリクエストに含まれる属性が別途指定した正規表現を使った属性値とマッチした場合に環境変数を定義する
Require all Granted
すべての接続元を許可する
Require not env 環境変数が定義されていればアクセスを拒否
環境変数deny_bot
が定義されていればアクセスを拒否
管理画面のアクセス制限
<Files ~ "^(wp-login\.php|wp-config\.php)$">
Require host XXXXX.jp
</Files>
<Files ~ "^(mlrpc\.php|wp-cron\.php|wp-config\.php)$">
Require all denied
</Files>