0

.htaccessファイルへの入力としてip、cookie値、およびアクセスしたURLに基​​づいてユーザーをブロックするブロックルールを作成するのを手伝ってくれる人はいますか?

いくつかのポイント:

  1. サイト全体ではなく、Webサイトの特定のディレクトリからのみユーザーをブロックする必要があります
  2. ブロックされたユーザーは、指定されたURLにリダイレクトされる必要があります。
  3. クッキーはユーザーブラウザにすでに存在するため、BlockRuleはクッキーを設定する必要はありません。ブロックルールは既存のクッキー値を読み取り、それをブロックルールの値と照合してリダイレクトするだけです。

編集:ジョンは上記の質問に答えましたが、これらのIP(%{REMOTE_ADDR})/ cookie値(%{HTTP_COOKIE})を.htaccessファイルからサーバー上のファイルに記録したいと思います。

4

1 に答える 1

1

これらすべての条件を1つのルールにまとめることができます。

RewriteEngine On

# by IP
RewriteCond %{REMOTE_ADDR} ^123.45.67.89$ [OR]
RewriteCond %{REMOTE_ADDR} ^123.45.67.88$

したがって、IPが123.45.67.89または123.45.67.88の場合は、何かを実行します。

# By cookie
RewriteCond %{HTTP_COOKIE} foo=bar; [OR]
RewriteCond %{HTTP_COOKIE} !something

したがって、値バーが付いたfooという名前のCookieがある場合、または何かという名前のCookieがない場合は、何かを実行します。

# by request
RewriteRule ^/?(bad_url|should/not/have/access|my_images) /blocked.html [L,R]

したがって、上記のすべての条件が満たされ、、、、またはのリクエストが行われる/bad_urlと、ブラウザはにリダイレクトされます/should/not/have/access/my_images/blocked.html

于 2012-10-17T18:38:31.863 に答える