php スクリプトを実行するために php ハンドラを実行する必要がないため、おそらく htaccess を使用する方が速いでしょう。を利用するIPアドレスをブロックするために私が与えた同様の答えがありRewriteMap
ます. これらの IP からのアクセスを拒否する代わりに、アクセスを許可する必要があります。
RewriteMap allow_ips txt:/path/to/allow_ips.txt
RewriteCond ${allow_ips:%{REMOTE_ADDR}|0} =1
RewriteRule ^protected/path - [L]
RewriteRule ^protected/path - [L,F]
allow_ips .txt ファイルの内容は次のようになります。
12.34.56.78 1
11.22.33.44 1
etc.
RewriteMap
directは server または vhost config のいずれかにある必要があります。htaccess からマップを定義できますが、そこで使用することもできます。
マップを使用できない場合は、すべての IP を . で列挙する必要がありますAllow
。保護したいディレクトリの htaccess ファイルで:
Order Allow,Deny
Deny from all
Allow from 12.34.56.78
Allow from 11.22.33.44
...
より良い方法はありますか?
おそらく最善の方法は、htpasswd を介してユーザー/パスワードを実装することです。ここにチュートリアルがあります。Auth*
次に、保護したいディレクトリのhtaccessファイルにそれらを入れることができます。それだけです。単純。