为CDN做功能代码以获得用户真正的IP(PHP和Asp设置)

asp功能代码:
复制代码代码如下所示:
功能checkip(号铃索)的使用规则判断IP的合法性
暗淡的身体
集RE1 = new RegExp
RE1。模式= ^ { } { } { 1 0-9 0-9 } { }。1。{ } { } { 1 0-9 0-9 } { }。1美元
RE1。全球= false
RE1。IGNORECASE = false
checkip = re1.test(号铃索)
集RE1 =没有
端功能

功能get_cli_ip()把真实IP功能,第一http_client_ip然后http_x_forwarded_for然后remote_addr
昏暗的client_ip
如果checkip(Request.ServerVariables(http_client_ip))=真
get_cli_ip = checkip(Request.ServerVariables(http_client_ip))
其他的
MyArray =分裂(Request.ServerVariables(http_x_forwarded_for),)
如果UBound(MyArray)> = 0
client_ip =装饰(MyArray(0))
如果checkip(client_ip)=真
get_cli_ip = client_ip
退出功能
最后如果
最后如果
get_cli_ip = request.servervariables(remote_addr)
最后如果
端功能


Discuz论坛以真实IP的PHP代码,和其他类似。请参考修改。

(Discuz修改包括 /常见。php)
使用以下代码:
复制代码代码如下所示:
如果(getenv('http_client_ip ')strcasecmp(getenv('http_client_ip),'unknown ')){
onlineip美元= getenv('http_client_ip);
} elseif(getenv('http_x_forwarded_for ')strcasecmp(getenv('http_x_forwarded_for),

未知的){

testip美元=(爆炸,getenv('http_x_forwarded_for '));

如果($ testip { 0 } = = '192美元testip { 1 } = = '168){
onlineip美元= getenv('remote_addr);
}
($ testip { 0 } = = 10'){
onlineip美元= getenv('remote_addr);
}
{其他
onlineip美元= getenv('http_x_forwarded_for);
}

/ / gamesir后端} elseif(getenv('remote_addr ')strcasecmp(getenv('remote_addr),

未知的){
onlineip美元= getenv('remote_addr);
} elseif(isset($ _server { 'remote_addr ' }){ } strcasecmp _server美元'remote_addr '($ _server)

{ 'remote_addr},'unknown ')){
乔尼
tmp_ip美元=爆炸(',',_server美元{ 'http_x_forwarded_for});
tmp_ip1美元=爆炸(',',为tmp_ip { 0 });
如果($ tmp_ip1 { 0 } = = '192美元tmp_ip1 { 1 } = = '168){
onlineip美元= getenv('remote_addr);
} else if($ tmp_ip1 { 0 } = = 10'){
onlineip美元= getenv('remote_addr);
}
别的{
onlineip美元= $ tmp_ip { 0 };
}
撤消($ tmp_ip);unset($ tmp_ip1);

}


替换这段代码:

复制代码代码如下所示:
如果(getenv('http_client_ip ')strcasecmp(getenv('http_client_ip),'unknown ')){
onlineip美元= getenv('http_client_ip);
} elseif(getenv('http_x_forwarded_for ')strcasecmp(getenv('http_x_forwarded_for),

未知的){
onlineip美元= getenv('http_x_forwarded_for);
} elseif(getenv('remote_addr ')strcasecmp(getenv('remote_addr),'unknown ')){
onlineip美元= getenv('remote_addr);
} elseif(isset($ _server { 'remote_addr ' }){ } strcasecmp _server美元'remote_addr '($ _server)

{ 'remote_addr},'unknown ')){
onlineip美元美元'remote_addr_server { } =;
}