찾다
백엔드 개발PHP 튜토리얼做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)_PHP

asp函数代码:
复制代码 代码如下:
function checkip(checkstring)'用正则判断IP是否合法
dim re1
set re1=new RegExp
re1.pattern=”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$”
re1.global=false
re1.Ignorecase=false
checkip=re1.test(checkstring)
set re1=nothing
end function

function get_cli_ip()'取真实IP函数,先 HTTP_CLIENT_IP 再 HTTP_X_FORWARDED_FOR 再 REMOTE_ADDR
dim client_ip
if checkip(Request.ServerVariables(”HTTP_CLIENT_IP”))=true then
get_cli_ip = checkip(Request.ServerVariables(”HTTP_CLIENT_IP”))
else
MyArray = split(Request.ServerVariables(”HTTP_X_FORWARDED_FOR”),”,”)
if ubound(MyArray)>=0 then
client_ip = trim(MyArray(0))
if checkip(client_ip)=true then
get_cli_ip = client_ip
exit function
end if
end if
get_cli_ip = Request.ServerVariables(”REMOTE_ADDR”)
end if
end function

discuz论坛取真实IP的php代码,其它类似,请参考稍做修改

(discuz修改include/common.inc.php)
用以下这段代码:
复制代码 代码如下:
if(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'),

'unknown')) {

$testip = explode('.', getenv('HTTP_X_FORWARDED_FOR'));

if ($testip[0]=='192′ && $testip[1]=='168′) {
$onlineip = getenv('REMOTE_ADDR');
}
elseif($testip[0]=='10′) {
$onlineip = getenv('REMOTE_ADDR');
}
else {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
}

//gamesir hack end} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'),

'unknown')) {
$onlineip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER

['REMOTE_ADDR'],'unknown')) {
//by Johnny
$tmp_ip = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$tmp_ip1 = explode(',',$tmp_ip[0]);
if ($tmp_ip1[0] =='192′ && $tmp_ip1[1] =='168′) {
$onlineip = getenv('REMOTE_ADDR');
}else if($tmp_ip1[0]=='10′) {
$onlineip = getenv('REMOTE_ADDR');
}
else{
$onlineip = $tmp_ip[0];
}
unset($tmp_ip);unset($tmp_ip1);

}

替换这段代码:

复制代码 代码如下:
if(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'),

'unknown')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'),'unknown')) {
$onlineip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER

['REMOTE_ADDR'],'unknown')) {
$onlineip = $_SERVER['REMOTE_ADDR'];
}

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
免备案cdn加速哪个最好免备案cdn加速哪个最好Jun 28, 2023 pm 04:42 PM

免备案cdn加速最好的是Cloudflare,Cloudflare提供了全球性的DDoS攻击防护和Web应用安全服务,可以保护您的网站免受恶意攻击。

Vue中如何配置和使用CDN进行加速Vue中如何配置和使用CDN进行加速Oct 15, 2023 pm 02:31 PM

Vue中如何配置和使用CDN进行加速在Vue项目中,使用CDN(ContentDeliveryNetwork)可以有效地加速网页加载速度,提升用户体验。CDN技术通过将静态资源文件分发到全球各个地点的服务器上,使用户可以从离用户最近的服务器上快速获取资源,减少了数据传输的时间和延迟。下面将详细介绍Vue中如何配置和使用CDN进行加速。首先,我们需要找到一

PHP实现CDN加速的方法及应用PHP实现CDN加速的方法及应用Jun 18, 2023 pm 06:42 PM

随着互联网的迅速发展,网站访问速度越来越受到重视,而CDN(ContentDeliveryNetwork)就是目前最常用的加速网站访问的技术之一。CDN加速通过多个服务器分布在不同地点,将用户的请求转发到离用户较近的服务器上,以此来加快网站的访问速度。在实现CDN加速中,PHP是一种常用的开发语言。本文将介绍如何使用PHP来实现CDN加速,以及应用于实际

百度网盘崩溃问题已解决并致歉:现已修复,请用户尝试重新登录百度网盘崩溃问题已解决并致歉:现已修复,请用户尝试重新登录Aug 10, 2023 pm 02:25 PM

据本站8月9日16时许报道,百度旗下产品出现了大规模故障,例如百度网盘在使用过程中出现了视频播放失败的情况,其他业务也有用户反映无法打开或崩溃的现象。经过本站的调查,发现是由于百度CDN服务异常所致百度网盘回应称,对此问题十分抱歉并正在紧急修复中,请耐心等待,感谢您的理解五分钟后,百度网盘回复说问题已解决,请您尝试重新登录,感谢您的支持CDN(内容分发网络)通过将源站内容分发至全球各地的加速节点,使用户在请求网站资源时能够被调度至距离最近的加速节点,从而直接获得所需内容,提高用户对网站资源的访问

优化Python网站访问速度,使用CDN、浏览器缓存等静态资源加速方法。优化Python网站访问速度,使用CDN、浏览器缓存等静态资源加速方法。Aug 04, 2023 pm 05:09 PM

优化Python网站访问速度,使用CDN、浏览器缓存等静态资源加速方法在当今互联网时代,用户对网站的访问速度要求越来越高。一个快速响应的网站能够提供更好的用户体验,从而增加用户的黏性和满意度。在Python网站开发中,通过使用CDN(内容分发网络)和浏览器缓存等静态资源加速方法,可以显著提升网站的访问速度。CDN是一种分布式的服务器网络,将静态资源存储在离用

怎么使用Nginx反向代理与proxy_cache缓存搭建CDN服务器怎么使用Nginx反向代理与proxy_cache缓存搭建CDN服务器May 12, 2023 pm 05:43 PM

碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1、在移动机房放置一台nginx反向代理服务器2、通过域名dns智能解析,所有移动用户访问www.osyunwei.com时解析到nginx反向代理服务器3、nginx反向代理服务器与web服务器之间采用专线连接说明:1、web服务器线路:电信ip:192.168.21.129域名:www.osyunwei.com2、nginx反向代理服务器线路:移动系统:centos6.2ip:192.168.21.164vi/e

cdn是啥cdn是啥Aug 10, 2023 pm 04:28 PM

CDN是内容分发网络的缩写,一种分布式网络架构,通过将内容分发到全球各地的服务器节点上,以提高内容传输速度、降低网络延迟、减轻服务器负载、提高网站可靠性和抵御攻击的网络架构,通过CDN,用户可以更快速地访问到所需的内容,提升了用户体验,同时也提高了网站的性能和安全性。

PHP中的CDNPHP中的CDNMay 25, 2023 pm 07:31 PM

近年来,随着互联网的不断发展,网页的速度与稳定性已成为用户关注的重要问题。针对这个问题,CDN(ContentDeliveryNetwork,内容分发网络)应运而生。在PHP开发中,如何利用CDN来提升网站的速度和稳定性,是开发者需要关注和应用的技术。本文将介绍PHP中的CDN技术,从理解CDN的基本原理开始,到详细讲解PHP中如何使用CDN提高网页加载

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는