2017-12-29 29 views
0

htaccessを使用して訪問ユーザーのユーザーエージェントと等しいCookie値があるかどうかを確認できますか?htaccessを使用して訪問ユーザーのuser-agentと等しいCookie値があるかどうか確認できますか?

たとえば、私はuser-agentを "_test"と呼ばれるクッキーに保存します。 "_test" == Guest_User_Agentという名前のCookieがあるかどうか確認したいと思います。

私は下記これ実行しようとしました:

SetEnvIfNoCase Cookie _test=^User-Agent$ whitelist 
Deny from all 
allow from env=whitelist 

をしかし、それは動作しません。これを実装する方法に関するアイデア?

答えて

0

右側に変数を使用することはできません。 RewriteCond指示文を使用すると、同じ結果が得られます。次のようにHTTPリクエストヘッダcookieuser-agentを比較することができます。

RewriteCond %{HTTP:Cookie} _test="?([^;]*)"? 
RewriteCond %1##%{HTTP:User-Agent} !^(.*)##\1 [NC] 
RewriteRule^- [R=404,L] 

ここRewriteCond左側はデリミタ##によって2つの変数、クッキー値_test及び第2の可変User-Agentに一致%1後方参照を接合しています。次に、右側に一致するように##の前に値を取り込み、バックリファレンス\1を使用します。彼らは異なる値を持っている場合http 404応答コードを与えます。

関連する問題