我即将实施以下代码来阻止客户端收到的一些引荐来源垃圾邮件。
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]
令人担忧的是,他们的网站从多个垃圾邮件域收到大量流量,服务器负载可能是一个因素。
答案 0 :(得分:2)
我的练习 - 它是完美的(除非你想用404或其他代码来愚弄它们)。
标题不是零字节长,但确实非常小(2或3行AFAIK)。零字节响应(这意味着 - 连接被丢弃而不发送任何响应头)只能由Apache在非常低的级别上发送(例如,当验证请求的URL并且它发现请求无效时,例如包含无效字符等)这是方式在mod_rewrite开始之前。
只是一个小小的注意事项:如果网站非常繁忙(正如您所说),那么最好放在Apache的配置文件中,而不是.htaccess,这是读取的每一个请求。