?php
if ($_SERVER["HTTP_X_FORWARDED_FOR"]!="")
{
$user_ip=$_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif($_SERVER["HTTP_X_REAL_IP"]!=""){
$user_ip=$_SERVER["HTTP_X_REAL_IP"];
}else{
$user_ip=$_SERVER["REMOTE_ADDR"];
}
echo $user_ip."br /";
foreach($_SERVER as $key=$value)
echo $key."\t"."$value"."br /";
?
通过浏览器访问确认相关参数
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)有了这个特征就很好判断了.
首先需要有一个正则来匹配日志里的两个IP,Nginx正则依赖pcre库...
代码如下[root@ipython conf]# pcretest
PCRE version 7.8 2008-09-05
re '^\d+.\d+.\d+.\d+\W\s\d+.\d+.\d+.\d+$'
data 192.168.1.1, 1.1.1.1
0: 192.168.1.1, 1.1.1.1
Nginx配置文件在location $dir 中加入条件来匹配http_x_forwarded_for:
#proxy
if ($http_x_forwarded_for ~ '^\d+.\d+.\d+.\d+\W\s\d+.\d+.\d+.\d+$'){
return 503;
}
重载配置后就可以限制使用代理IP来访问的网站用户了