1

ここと他の場所の両方でさまざまな記事に目を通しましたが、htaccessの設定方法について確認することができました。

RewriteEngine On
RewriteCond %{HTTP_REFERER} orange [NC,OR]
RewriteRule .* blocked.php [L]

上記のコードを指定すると、オレンジという単語が含まれるドメイン、サブドメイン、またはページがブロックされることを確認できますか?

機能しているように見えますが、すべてのベースをカバーしていること、およびドメイン内のどこかにオレンジ色がある私のサイトからのリンクまたはホットリンクされた画像をブロックしていることを確認する必要があります.

ところで、私が ,OR を除外できる条件が 1 つしかない場合、それを削除すると、私が行っていたテストでは機能しなかったと思いましたか??? なぜこれが ,OR なしでは機能しないのか知っている人はいますか??

よろしくお願いします!

4

1 に答える 1

1

上記のコードを指定すると、オレンジという単語が含まれるドメイン、サブドメイン、またはページがブロックされることを確認できますか?

はい、/blocked.php「オレンジ」がリファラーにある限り、スクリプトへのすべてのリクエストを書き換えます。「Referer」ヘッダーは、ブラウザーが通常要求に含めるもので、要求しているリソースにリンクされているページ/サイトを Web サーバーに知らせます。つまり、あなたのページの 1 つにリンクしているページを持つ「orange.com」というサイトがあり、誰かがそれをクリックすると、リファラーにはその Orange.com ページが含まれ、あなたが設定したルールによってそれらがブロックされます。

ORフラグは必要ありません。リファラーに「オレンジ」という単語が含まれている場合は、省略しても問題ありません。リファラーはなりすましである可能性があり、それが保証されるわけではないことに注意してください。

于 2013-10-22T06:53:55.003 に答える