Apacheで特定IPをdenyしたりallowしたりするときのconf
職業柄だとは思うけど
あっ!!
今すぐこのIPを弾きたい!!!
今すぐ!!!!
みたいな時がたまにあるので、そんな時にどんなconfを書けばいいかすぐにわかるようにまとめておく。
絶対他の人の役には立たないと思うけど、僕の備忘録だからそれでよし。
特定IPからのリクエストを拒否
allowを明示的に書く
<FilesMatch "\.php"> <LIMIT POST GET> Order Allow,Deny Allow from all Deny from 8.8.8.8 </LIMIT> </FilesMatch>
denyだけでOK
<FilesMatch "\.php"> <LIMIT POST GET> Order Deny,Allow Deny from 8.8.8.8 </LIMIT> </FilesMatch>
特定IPからのリクエストを許可
denyを明示的に書く
<FilesMatch "\.php"> <LIMIT POST GET> Order Deny,Allow Deny from all Allow from 8.8.8.8 </LIMIT> </FilesMatch>
allowだけでOK
<FilesMatch "\.php"> <LIMIT POST GET> Order Allow,Deny Allow from 8.8.8.8 </LIMIT> </FilesMatch>
どゆことですのん?
感覚的にはOrder
が逆なんだよなぁ…
Order Allow,Deny
のとき
- 全てのIPが一旦拒否対象になる
- Allowで指定したIPが許可対象になる
- 例外としてDenyで設定したIPを拒否する
Order Deny,Allow
のとき
- 全てのIPが一旦許可対象になる
- Denyで指定したIPが拒否対象になる
- 例外としてAllowで設定したIPを拒否する
つまり…?
「Order ①,②
だと、①がメイン、ただし例外として②を適用する」という感じだろうか。