2

特定のファイル内のすべての IP へのアクセスを拒否する .htaccess コマンドはありますか? bans.txt という名前のファイル (.htaccess ファイルの隣にある) があるとします。このファイルは、単純な ips のリストで構成されています。そのファイル内のすべての IP へのアクセスを拒否したい。それを行う簡単な .htaccess コマンドはありますか? 何かのようなもの:

Deny from bans.txt

探していて、無いと思いますが、調べてみました、ありがとうございます。

4

1 に答える 1

2

実際、純粋に Apache からこのタスクを達成するための巧妙な方法があります。RewriteMapという機能を使用する必要があります

1 - 最初に mod_rewrite と .htaccess を有効にしてから、次のhttpd.confコードを挿入して、呼び出されhttpd.confた を有効にします。RewriteMapipmap

RewriteMap ipmap txt:/some/path/to/ipmap.txt

2 - 次に、禁止するすべての IP をリストした次の/some/path/to/ipmap.txtようなエントリを含むテキスト ファイルを作成します。

192.168.0.1 1
192.168.0.4 1
10.119.35.8 1
...
...

3 - Apache プロセスをバウンスします (変更したためhttpd.conf)

4 - 最後に、このコードをディレクトリの.htaccess下に配置します。$DOCUMENT_ROOT

RewriteEngine On
RewriteBase /

# if IP is found in ipmap then return Forbidden error
RewriteCond ${ipmap:%{REMOTE_ADDR}} ^1$
RewriteRule ^ - [F,L]
于 2013-03-27T16:27:23.087 に答える