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 开始之前。

只是一个小提示:如果站点非常繁忙(如您所说),那么最好将其放置在 Apache 的配置文件中,而不是 .htaccess 中,每个请求都会读取该文件。

于 2012-06-12T21:05:11.317 回答