2

クライアントが受信しているリファラー スパムをブロックするために、次のコードを実装しようとしています。

403 は、リクエストをリダイレクトする最も効率的な方法 (ヘッダー サイズが 0 バイト、または少なくとも小さいと思います) ですか、それとも考慮すべき他のオプションはありますか?

RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} spammer-one\.com [NC,OR]
RewriteCond %{HTTP_REFERER} spammer-two\.com
RewriteCond %{HTTP_REFERER} spammer-three\.com
RewriteRule .* - [F]

懸念の原因は、サイトが多数のスパム ドメインから大量のトラフィックを受信して​​いることです。サーバーの負荷が要因である可能性があります。

4

1 に答える 1

2

私の練習では完璧です(404や別のコードで応答してもう少し騙したい場合を除きます)。

ヘッダーの長さはゼロバイトではありませんが、実際には非常に小さいです(2行または3行のAFAIK)。ゼロ バイトの応答 (つまり、応答ヘッダーを送信せずに接続がドロップされることを意味します) は、Apache によって非常に低いレベルでのみ送信できます (たとえば、要求された URL を検証し、無効な文字が含まれているなど、要求が無効であることが判明した場合)。 mod_rewrite が始まる前に。

ちょっとしたメモ:サイトが非常に忙しい場合 (あなたが言ったように)、リクエストごとに読み込まれる .htaccess ではなく、Apache の構成ファイルの 1 つに配置することをお勧めします。

于 2012-06-12T21:05:11.317 に答える