私は次のことを試しましたが、うまくいきません(アクセスしたいIPを含むファイルに誰もアクセスできません)
<Files something.php>
Order allow,deny
Deny from all
allow from zzz.zzz.zzz.zzz
</Files>
1 つの IP を除く全世界に対してファイルへのアクセスを拒否したいのですが、どうすればよいですか? ありがとう
ここにある回答の1つである古い投稿で私の回答を見つけました: .htaccess: how to restrict access to a single file by IP? 、正しいは次のとおりです。
<Files something.php>
Order deny, allow
Deny from all
allow from zzz.zzz.zzz.zzz
</Files>
オリジナルから「注文許可、拒否」を「注文拒否、許可」に変更したところ、うまくいきました!
機能しなかった理由は、Deny
ディレクティブがディレクティブをオーバーライドしたためAllow
です。は何ですかOrder Allow,Deny
:
Allow
し、一致するものがある場合は「許可」にフラグを立てます。Deny
し、一致するものがある場合は「拒否」のフラグを立てます (以前に と一致した場合でもAllow
)そのため、すべてのリクエストを拒否したくない場合は削除する必要があります。MickeyRoush's answer のメモです。 Deny from All
に関してはOrder Deny,Allow
、それは「反対」です:
Deny
し、一致するものがある場合は「拒否」のフラグを立てます。Allow
し、一致するものがある場合は「許可」のフラグを立てる (以前に と一致した場合でもDeny
)詳細については、MickeyRoush が提供したリンクを参照してください。
実際に使用した最初のディレクティブは機能しますが、正しい場所に配置する必要があります。
Order Allow,Deny
<Files something.php>
Allow from zzz.zzz.zzz.zzz
</Files>
必須ではないため、すべてから拒否を削除したことに注意してください。
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order