0

誰かが私のサイトで悪いことを試みていて、私は彼が使用しているIPをブロックするのにうんざりしています。したがって、彼がコードをまとめて実行するのを防ぎ、そのような試みをローカルサーバーにリダイレクトしたいと思います。そのために私は私の中で次の条件を使用します.htaccess:

RewriteCond %{QUERY_STRING} ^id=http://213.246.61.125:2082/index.html$ [NC] RewriteRule page.php http://127.0.0.1/index.php? [NS,S,L]

現在、このindex.htmlもホストされている多くの異なるIPからこれを試しています。したがって、ワイルドカードを作成して、index.htmlの前のIPに関係なく、それを試行するIPが常にローカルサーバーにリダイレクトされるようにします。これを行う方法がわかりません。(34.5.*.*)他の場所でこれがリンクであるため、IPワイルドカードを使用できません。だから私は私が次のようなものを使わなければならないと思います:

RewriteCond %{QUERY_STRING} ^id=http://([0-9]).([0-9]).([0-9]).([0-9]):2082/index.html$ [NC] RewriteRule page.php http://127.0.0.1/index.php? [NS,S,L]

しかし、上記は正しくありませんが、数字の任意の組み合わせに合わせて調整する方法がわかりません。多分誰かが助けることができますか?

4

1 に答える 1

0

[0-9]1つ以上の文字を照合するため、文字範囲の後にプラス記号を付ける必要があります。また、注意してください

  • 正規表現のドットはバックスラッシュで引用する必要があります。それ以外の場合は、任意の文字と一致します。
  • あなたの括弧RewriteCondは不要です。
  • とフラグNSはおそらく不要です。SRewriteRule

私は次のことを試してみます:

RewriteCond %{QUERY_STRING} ^id=http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:2082/index\.html$ [NC]
RewriteRule page\.php http://127.0.0.1/index.php [L]
于 2013-02-11T15:35:07.053 に答える