現在、
.htaccessで
SetEnvIf User-Agent "Iria" deny_ua
order allow,deny
allow from all
deny from env=deny_ua
としています。
これに、User-Agentを持たずアクセスしてくる人を弾きたいのですがどのようにすればよいでしょうか?
下記のようにすればいいようにも思うのですが自信がありません。
ご存知の方教えて下さい。
宜しくお願い致します。
SetEnvIf User-Agent "Iria" deny_ua
SetEnvIf User-Agent "" deny_ua
order allow,deny
allow from all
deny from env=deny_ua
SetEnvIf User-Agent "^$" bad
<Limit GET POST>
Order Allow,Deny
Allow from All
Deny from env=bad
</Limit>
だと思います。試しにブラウザでアクセスすると200 OKで
telnetで80アクセスして
GET /hoge/hoge.cgi HTTP/1.0
とUser-Agent入力せずにアクセスすると403エラー
SetEnvIf User-Agent "" では構文ミスで500errorになるかと思います(どのUAでも)
SetEnvIfの正規表現はPerlのそれと互換性があるそうですので
http://www.kt.rim.or.jp/~kbk/perl5.005/perlre.html
を参考に
お礼
ありがとうございます。 とても、助かりました。 私の使っているサーバでもばっちり動きました!!