Supesite使用CDN后获取
真实IP 办法include/main.inc.php文件,这部分if(getenv('HTTP_CLIENT_IP') &&strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {$_SGLOBAL['onlineip'] = getenv('HTTP_CLIENT_IP')} elseif(getenv('HTTP_X_FORWARDED_FOR') &&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {$_SGLOBAL['onlineip'] = getenv('HTTP_X_FORWARDED_FOR')} elseif(getenv('REMOTE_ADDR') &&strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {$_SGLOBAL['onlineip'] = getenv('REMOTE_ADDR')} elseif(isset($_SERVER['REMOTE_ADDR']) &&$_SERVER['REMOTE_ADDR'] &&strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {$_SGLOBAL['onlineip'] = $_SERVER['REMOTE_ADDR']}替换成function get_real_ip(){$ip=falseif(!empty($_SERVER["HTTP_CLIENT_IP"])){$ip = $_SERVER["HTTP_CLIENT_IP"]}if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR'])if ($ip){array_unshift($ips, $ip)$ip = FALSE}for ($i = 0$i =0 then client_ip = trim(MyArray(0)) if checkip(client_ip)=true then get_cli_ip = client_ipexit function end if end if get_cli_ip = Request.ServerVariables("REMOTE_ADDR")end ifend functionASP.NET获取IP的6种
方法服务端://方法一HttpContext.Current.Request.UserHostAddress//方法二HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]//方法三string strHostName = System.Net.Dns.GetHostName()string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString()//方法四(无视代理)HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]客户端://方法五var ip = '<!--#echo var="REMOTE_ADDR"-->'alert("Your IP address is "+ip)//方法六(无视代理)function GetLocalIPAddress() { var obj = nullvar rslt = ""try { obj = new ActiveXObject("rcbdyctl.Setting")rslt = obj.GetIPAddress打印 $_SERVER 出来看看,一般的CDN都会把真实的IP存放在这个变量里面。
比如阿里云的CDN是:$_SERVER['HTTP_ALI_CDN_REAL_IP']
CDN管理系统作为集中式的内容分发管理和网络管理,并对用户和内容提供商的CDN使用情况进行统计和计费。CDN应用系统位于CDN分布点中的一组分布式的
服务器,通常选择专业服务器或缓存服务器来实现。常见的CDN应用系统有:VOD点播、视频会议、远程教学、远程医疗等等。这些应用通过CDN系统使得用户的请求能绕过Internet的拥塞区域,而找到CDN网中的性能最优的站点,从而得到最优的服务
评论列表(0条)