我即将实现以下代码来阻止客户端收到的一些引荐来源垃圾邮件。
403 是重定向请求的最有效方法(我相信 header 大小为 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]
令人担忧的是,他们的网站正在从多个垃圾邮件域接收大量流量,服务器负载可能是一个因素。
最佳答案
我的做法——它是完美的(除非你想用 404 或其他代码来愚弄他们)。
header 不是零字节长,但确实非常小(据我所知,有 2 或 3 行)。零字节响应(这意味着连接被丢弃而不发送任何响应头)只能由 Apache 在非常低的级别上发送(例如,当验证请求的 URL 时,它发现请求无效,例如包含无效字符等),这是一种方式在 mod_rewrite 启动之前。
请注意:如果站点非常繁忙(正如您所说),那么最好将其放置在 Apache 的配置文件之一中,而不是放置在 .htaccess 中,该文件将在 .htaccess 中读取每个请求。
关于.htaccess - 按域阻止引荐来源网址垃圾邮件 - 403 响应有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11003980/