人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

.htaccessで、IPアドレスとユーザエージェントの2つを併用してアクセス制限をかける事は出来るでしょうか?
今回の併用というのは、IP or UA ではなく IP and UA です。
両方を満たした場合のみアクセスを許可したいのです。
どなたか分かるかたご教授くださいませm(_ _ )m

ちなみに以下の例ように記述すると、IP or UAになってしまいました。
SetEnvIf User-Agent "docomo" allow_ua
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
allow from env=allow_ua

●質問者: ピ
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.htaccess ALL DoCoMo IP IPアドレス
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● b-wind
●30ポイント

mod_access - Apache HTTP サーバ

確か条件は複数指定可能のはず。

SetEnvIf User-Agent "docomo" allow_ua
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx env=allow_ua

でいけると思う。

◎質問者からの返答

今試してみたのですが、この設定でもorになってしまっているような気がしますね。


2 ● y-kawaz
●60ポイント
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx

でIP制限を掛けた上で以下を追加するとかでどうでしょう?

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule . - [F,L]

DoCoMo以外も許可するUAがあるならDoCoMoの部分を (DoCoMo|SoftBank|Vodafone) という感じに変えれば良いです。

◎質問者からの返答

うーん、そのままコピペではうまく行きませんでしたね。

下のRewiteEngine周りが全く分かってないので、ちょっと調べてみます・・・。


3 ● ぱこち
●100ポイント ベストアンサー

SetEnvIf を使うならこんな感じになります。 AND はどうしても回りくどくなるみたいです。

SetEnvIf User-Agent "docomo" allow_ua
SetEnvIf Remote_Addr ".*" addr=deny
SetEnvIf Remote_Addr "^(xxx\.xxx\.xxx\.xxx)$" addr=allow
SetEnvIf addr deny !allow_ua

order deny,allow
deny from all
allow from env=allow_ua
◎質問者からの返答

頂いたソースをちょっと編集して、やりたい事が実現できました。

ありがとうございます。

他の方の意見も参考にし、一番スマートな方法を取ろうと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ