mijie.sourceforge.net ( 216.34.181.96 )你的IP地址是:127.0.0.1 {:2_30:} 回复 vica 的帖子
SF用的proxy balance,前端nginx,后端apache,取remote_addr取出了127.0.0.1............ :lol不错 ~~!
感谢分享.. y 发表于 2011-1-5 22:32 static/image/common/back.gif
回复 vica 的帖子
SF用的proxy balance,前端nginx,后端apache,取remote_addr取出了127.0.0.1............
那说明探针取的IP有问题哦~ 回复 vica 的帖子
没问题的,对于后端的apache,对他发起请求的的确是前端的nginx,不是用户,用户ip在x-forwarded-for里,但是x-forwarded-for是可以由客户端伪造的,如果优先考虑x-forwarded-for的话,会导致安全问题。前期dz,pw获取IP的函数都是先考虑x-forwarded-for的,后来都改了 y 发表于 2011-1-6 09:11 static/image/common/back.gif
回复 vica 的帖子
没问题的,对于后端的apache,对他发起请求的的确是前端的nginx,不是用户,用户ip在x-for ...
嗯,懂了。
可是有那么多站点拿Nginx放前端做负载平衡,都不取x-forwarded-for的话如何获取到用户IP呢? 回复 vica 的帖子
程序自己判断下,比如类似下面的
$_proxies=array('127.0.0.1');//前端反代地址
if ( in_array($_SERVER['REMOTE_ADDR'],$_proxies) ) {
$_SERVER['REMOTE_ADDR']=array_shift(explode($_SERVER['X-FORWARDED-FOR'],','));
unset($_SERVER['X-FORWARDED-FOR']);
}
哈哈 我下载了~~谢谢
页:
1
[2]