我的理解是,在apache访问日志中,在一行而不是1上列出了2个IP地址,它是使用代理的“用户”。
示例:
112.96.179.188 36.56.114.20 - [30 / Nov / 2017:12:43:05 -0500]“POST / customer / HTTP / 1.1”302 - “https://www.example.com/customer/”“Mozilla / 5.0(Windows NT) 6.1; WOW64; rv:29.0)Gecko / 20100101 Firefox / 29.0“
我管理的网站上的所有垃圾邮件流量都来自这些“用户”。
htaccess是否有办法阻止这些访问网站?
答案 0 :(得分:1)
这可能是您正在寻找的X-Forwarded-For标题。
虽然您通常可以假设每个带有该标头的请求来自a)代理人背后的某个人或b)假装是代理人的人,您无法确定该标头的缺失意味着某人没有使用代理。许多代理不会传递此信息。因为它只是一个普通的HTTP标头,所以在提供内容时你不能信任它,因为客户端可以将它设置为它想要的任何值。
也就是说,您可以使用RewriteCond
检查该字段的存在和值并拒绝该请求:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-For} !^$
RewriteRule . - [F,L]
这将匹配该标头不为空的所有请求(如果它不存在,则将其视为空)。