web-dev-qa-db-ja.com

IP範囲によるファイルへのhtaccessアクセス

IPアドレスの範囲内にあるIPを持つユーザーにのみファイルへのアクセスを許可するにはどうすればよいですか?

たとえば、ファイルadmin.php。 0.0.0.0から1.2.3.4の範囲です。

ディレクトリではなく1つのファイルのみにアクセスを設定する必要があります。

34
Mirgorod

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ドキュメントを参照してください。

45
wimvds

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ビットで構成されている点が異なります。

26
Pascal Qyy

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
10
phihag

単一の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>
3
shamittomar

WordPressを使用している場合、最も簡単な方法はプラグインをインストールすることです-LionScripts:WordPress IP Blocker彼らのウェブサイトから http://www.lionscripts.com/ip-address-blocker

プロフェッショナルバージョンには、国のブロックやIP範囲のブロック、一括CSVアップロードなど、はるかに多くの機能があります。

1
jeevesh kumar

ワイルドカード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の範囲が得られます

こちらで確認してください

0
Allahbakash.G