IPアドレスの範囲内にあるIPを持つユーザーにのみファイルへのアクセスを許可するにはどうすればよいですか?
たとえば、ファイルadmin.php。 0.0.0.0から1.2.3.4の範囲です。
ディレクトリではなく1つのファイルのみにアクセスを設定する必要があります。
FilesMatch または Files ディレクティブを追加して、特定のスクリプトに制限します。
次は、「admin.php」で終わるすべてのスクリプトへのアクセスをブロックします。
<FilesMatch "admin\.php$">
Order deny,allow
Deny from all
Allow from 10.0.0.0/24
</FilesMatch>
以下はadmin.phpのみをブロックします:
<Files "admin.php">
Order deny,allow
Deny from all
Allow from 10.0.0.0/24
</Files>
詳細については、 構成セクション のApacheドキュメントを参照してください。
Allow Directive のmanページを確認してください
Order Deny,Allow
Deny from all
Allow from 10.1.0.0/255.255.0.0
部分的なIPアドレス
例:
Allow from 10.1
Allow from 10 172.20 192.168.2
サブネット制限のための、IPアドレスの最初の1〜3バイト。
ネットワーク/ネットマスクのペア
例:
Allow from 10.1.0.0/255.255.0.0
ネットワークa.b.c.d、およびネットマスクw.x.y.z。より詳細なサブネット制限。
network/nnn CIDR仕様
例:
Allow from 10.1.0.0/16
前のケースと同様ですが、ネットマスクがnnnの高位1ビットで構成されている点が異なります。
allow でIP範囲を一致させることはできませんが、CIDR表記でエミュレートできます:
Order allow,deny
# 0.0.0.0 - 0.255.255.255.255
Allow from 0.0.0.0/8
# 1.0.0.0 - 1.1.255.255
Allow from 1.0.0.0/15
# 1.2.0.0 - 1.2.1.255
Allow from 1.2.0.0/23
# 1.2.2.0 - 1.2.2.255
Allow from 1.2.2.0/24
# 1.2.3.0 - 1.2.3.3
Allow from 1.2.3.0/30
# 1.2.3.4
Allow from 1.2.3.4
単一のIPに対してこれを行うだけです。
<Limit GET POST>
order deny,allow
deny from all
allow from 1.2.3.4
</Limit>
10.x.x.xのような範囲でそれを行うには、次のようにします。
<Limit GET POST>
order allow,deny
allow from 10
deny from all
</LIMIT>
WordPressを使用している場合、最も簡単な方法はプラグインをインストールすることです-LionScripts:WordPress IP Blocker彼らのウェブサイトから http://www.lionscripts.com/ip-address-blocker
プロフェッショナルバージョンには、国のブロックやIP範囲のブロック、一括CSVアップロードなど、はるかに多くの機能があります。
ワイルドカード0.0.255.255を提供する場合
Order allow,deny
# 1.2.0.0 - 1.2.255.255
Allow from 1.2.0.0/16
これにより、1.2.0.1-1.2.255.254の範囲が得られます