Tag: X-Forwarded-For

默认分类

WHMCS(PHP程序)防止IP欺骗(伪造X-Forwarded-For)

前面发布了一篇文章,讲述了多重代理时防止伪造X-Forwarded-For的方法。 那只是针对使用代理服务器的情况。虽然没使用代理服务器时,很少会出现这个问题,但是也不排除有些傻逼PHP程序,如果X-Forwarded-For的内容不为空,就会主动拿来当做访客真实IP。使用CDN的话,还能获取访客的正确IP,但是没使用CDN的话…… 这岂不是让那些不法分子有机可乘了吗? 大名鼎鼎的WHMCS就是其中之一! 其实如果要解决这个问题,在该PHP程序中,把类似这样的代码删掉就行:

  但是,上面所说到的WHMCS,并非开源P […]

Read more 4 Comments
服务器, 运营维护

多重代理时如何防止伪造X-Forwarded-For且获取真实IP

127.0.0.1

当我们给网站使用例如CDN,Nginx或Varnish等缓存服务时,为了获取访客的真实IP,大多数会地把访客的真实IP赋值给X-Forwarded-For(下文简称XFF)。 但是因为XFF是个HTTP请求头,也就是最前面带有http_,因此这类http信息就可以被伪造。     其实根据实际使用情况判断是否需要获取XFF内容就不会出现这些问题。 拿Nginx的反代理(Proxy模块)功能来说,有人会把$proxy_add_x_forwarded_for变量的内容传给后端作为用户的真实IP。 Nginx对该变量的处理非常智能,当有XFF传过来时,Nginx就会自动把Ngin […]

Read more 22 Comments
运营维护

使用Varnish Cache时,让Nginx获取访客真实IP

200

之前发表过一篇文章:Varnish(前)+Nginx(中)时,让Apache(后)获取用户真实IP(多重代理) 该方法能成功解决使用或者不使用CDN时,在Varnish前端,Nginx中端,Apache解析PHP文件的情况下让Apache获取访客真实IP。因为当时主要是利用Nginx进行缓存,没使用其他功能,旧没让Nginx也获取访客真实的IP。 其中Varnish处理XFF的关键代码:

也就是把客户的IP赋值给XFF。那样后端处理就方便多了。 昨天在为一台Varnish+Nginx+Apache的服务器添加并测试防轻量级CC的 […]

Read more 12 Comments