php中怎么获取ip,php如何获取客户端信息?
代码入下,只做参考
class userPCInfo{
//获取客户端浏览器
public static function get_client_browser(){
$sys = $_SERVER['HTTP_USER_AGENT']; //获取用户代理字符串
if (stripos($sys, "Firefox/") > 0) {
preg_match("/Firefox\/([^;)]+)+/i", $sys, $b);
$exp[0] = "Firefox";
$exp[1] = $b[1]; //获取火狐浏览器的版本号
} elseif (stripos($sys, "Maxthon") > 0) {
preg_match("/Maxthon\/([\d\.]+)/", $sys, $aoyou);
$exp[0] = "傲游";
$exp[1] = $aoyou[1];
} elseif (stripos($sys, "MSIE") > 0) {
preg_match("/MSIE\s+([^;)]+)+/i", $sys, $ie);
$exp[0] = "IE";
$exp[1] = $ie[1]; //获取IE的版本号
} elseif (stripos($sys, "OPR") > 0) {
preg_match("/OPR\/([\d\.]+)/", $sys, $opera);
$exp[0] = "Opera";
$exp[1] = $opera[1];
} elseif(stripos($sys, "Edge") > 0) {
//win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配
preg_match("/Edge\/([\d\.]+)/", $sys, $Edge);
$exp[0] = "Edge";
$exp[1] = $Edge[1];
} elseif (stripos($sys, "Chrome") > 0) {
preg_match("/Chrome\/([\d\.]+)/", $sys, $google);
$exp[0] = "Chrome";
$exp[1] = $google[1]; //获取google chrome的版本号
} elseif(stripos($sys,'rv:')>0 && stripos($sys,'Gecko')>0){
preg_match("/rv:([\d\.]+)/", $sys, $IE);
$exp[0] = "IE";
$exp[1] = $IE[1];
}else {
$exp[0] = "未知浏览器";
$exp[1] = "";
}
return $exp;
}
//获取客户端操作系统
public static function get_client_os(){
$agent = $_SERVER['HTTP_USER_AGENT'];
$os = false;
if (preg_match('/win/i', $agent) && strpos($agent, '95')){
$os = 'Windows 95';
}else if (preg_match('/win 9x/i', $agent) && strpos($agent, '4.90')){
$os = 'Windows ME';
}else if (preg_match('/win/i', $agent) && preg_match('/98/i', $agent)){
$os = 'Windows 98';
}else if (preg_match('/win/i', $agent) && preg_match('/nt 6.0/i', $agent)){
$os = 'Windows Vista';
}else if (preg_match('/win/i', $agent) && preg_match('/nt 6.1/i', $agent)){
$os = 'Windows 7';
}else if (preg_match('/win/i', $agent) && preg_match('/nt 6.2/i', $agent)){
$os = 'Windows 8';
}else if(preg_match('/win/i', $agent) && preg_match('/nt 10.0/i', $agent)){
$os = 'Windows 10';#添加win10判断
}else if (preg_match('/win/i', $agent) && preg_match('/nt 5.1/i', $agent)){
$os = 'Windows XP';
}else if (preg_match('/win/i', $agent) && preg_match('/nt 5/i', $agent)){
$os = 'Windows 2000';
}else if (preg_match('/win/i', $agent) && preg_match('/nt/i', $agent)){
$os = 'Windows NT';
}else if (preg_match('/win/i', $agent) && preg_match('/32/i', $agent)){
$os = 'Windows 32';
}else if (preg_match('/linux/i', $agent)){
$os = 'Linux';
}else if (preg_match('/unix/i', $agent)){
$os = 'Unix';
}else if (preg_match('/sun/i', $agent) && preg_match('/os/i', $agent)){
$os = 'SunOS';
}else if (preg_match('/ibm/i', $agent) && preg_match('/os/i', $agent)){
$os = 'IBM OS/2';
}else if (preg_match('/Mac/i', $agent) && preg_match('/PC/i', $agent)){
$os = 'Macintosh';
}else if (preg_match('/PowerPC/i', $agent)){
$os = 'PowerPC';
}else if (preg_match('/AIX/i', $agent)){
$os = 'AIX';
}else if (preg_match('/HPUX/i', $agent)){
$os = 'HPUX';
}else if (preg_match('/NetBSD/i', $agent)){
$os = 'NetBSD';
}else if (preg_match('/BSD/i', $agent)){
$os = 'BSD';
}else if (preg_match('/OSF1/i', $agent)){
$os = 'OSF1';
}else if (preg_match('/IRIX/i', $agent)){
$os = 'IRIX';
}else if (preg_match('/FreeBSD/i', $agent)){
$os = 'FreeBSD';
}else if (preg_match('/teleport/i', $agent)){
$os = 'teleport';
}else if (preg_match('/flashget/i', $agent)){
$os = 'flashget';
}else if (preg_match('/webzip/i', $agent)){
$os = 'webzip';
}else if (preg_match('/offline/i', $agent)){
$os = 'offline';
}else{
$os = '未知操作系统';
}
return $os;
}
//获取ip地址
public static function get_ip() {
//判断服务器是否允许$_SERVER
if (isset($_SERVER)) {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$realip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$realip = $_SERVER['REMOTE_ADDR'];
}
} else {
//不允许就使用getenv获取
if (getenv("HTTP_X_FORWARDED_FOR")) {
$realip = getenv("HTTP_X_FORWARDED_FOR");
} elseif (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}
//获取当前ip所在城市
public static function GetIpLookup($ip = ''){
if(empty($ip)){
return '请输入IP地址';
}
$test= 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;
$res = @file_get_contents($test);
return $res;
}
}
PHP项目如何上传到服务器?
用FTP上传工具上传即可。
这里以8UFTP软件为例:1、下载安装FTP软件,输入服务器IP地址,FTP的用户名和密码进行连接。
2、连接FTP后,找到要上传的PHP项目文件,上传到服务器即可。
如何给PHP添加模板?
1, 你的服务器装了apahce吗?必须要安装apache+php+mysql,zend是自带的;
2, 如果上面装好了,你可以先不传你的php模板,在ie中输入你的服务器的ip地址,如果端口不是默认的80,你就加上端口;看看能否打开主页,默认的是 It Works!
3, 都OK后,你传你的文件到apache文件夹下的htdocs文件夹下,然后在浏览器输入你的ip+端口+文件目录+install然后开始一步步安装。
什么是CDN?
CDN的模式有点像发传单,假如让你一个人去发一座城市的传单你肯定很吃力也很费时,如果是同一时间发更是分身乏术,这时你就可以花点钱雇佣好几个发传单的人,一个人负责一个片区,这样传单就能同步快速的分发下去。
CDN全称是Content Delivery Network或者Content Distribution Network,也就是我们常说的内容分发网络。没有CDN的内容只能从原始的服务器位置提供,这样就会使用服务器更多的处理能力和带宽,需要更长的时间才能到达访问用户哪里,延迟太大、加载慢就会导致用户体验不佳。带有CDN的内容是由最近的CDN缓存服务器提供内容的,并不需要从原始的服务器位置获得,而是根据访客的地理位置和服务器的性能来提供CDN缓存服务器分发内容,这样就可以减少源服务器的负载,并且可以快速的给访客提供内容,不管在地球上的哪个角落体验如丝般顺滑。CDN缓存服务器会复制源服务器的内容,当某个缓存服务器出现故障的时候,访客就会访问临近的缓存服务器。所以CDN可以实现100%快速稳定的交付,交付的内容涵盖了网站、视频、游戏甚至于软件更新等等。通过CDN进行内容分发可以承载的访客数量要比单一的服务器多得多,CDN总承载量也比单一骨干网络的最大带宽还要大。CDN缓存服务器之间也会动态地相互传输内容,对用户的访问行为进行优化,这样就可以减少内容供应者的带宽成本,提高系统的稳定性,加速访问速度。CDN还可以帮助我们保护源服务器免遭一些常见的恶意网络攻击,比如DDOS攻击。CDN的工作原理CDN的缓存加速资源实际上是跟域名捆绑在一起的,当终端的用户向服务器发出请求后,首先会向本地的DNS发起域名解析的请求,本地的DNS如果有相关IP地址记录就会直接返回给终端的用户,没有则会向DNS查询。域名的CNAME指向的是CDN所在的IP地址则会进入CDN提供商的DNS调度系统,这时就能控制访问哪个IP地址的缓存服务器了。CDN出现的历史背景在上世纪90年代互联网的接入方式主要是电话线ADSL拨号上网,带宽低,网民也少,互联网的主要瓶颈是在用户接入带宽这最后的一公里,而并没有给提供内容的服务器、骨干传输网络带来什么压力。随着互联网技术的不断发展,以及网民数量的急剧增加,给提供内容的服务器和传输骨干网络带来了越来越大的压力,互联网的瓶颈就变成了骨干传输网络和服务器,可以想象这会严重的阻碍互联网的发展。麻省理工的教授Tim Berners-Lee预见了未来互联网的这种挑战,于是就提出了要发明一种全新从根本上解决互联网无拥堵的分发这一个学术难题,这样就催生出了CDN,诞生了鼎鼎大名的CDN服务公司Akamai。综上所述CDN内容分发技术确实可以解决当下互联网拥堵的难题,并且可以实现跨省市、跨国快速访问的需求。CDN也一直在发展,比如迅雷、优酷等就是通过P2P CDN让用户自愿以闲置的电脑资源或专用设备利用闲置的上行带宽来充当CDN缓存加速,用户换取的则是积分。以上个人浅见,欢迎批评指正。认同我的看法,请点个赞再走,感谢!喜欢我的,请关注我,再次感谢!网络安全是做什么的?
在信息化的现代,网络安全产业成为保障“新基建”安全的重要基石,我国网络安全行业市场规模一直呈现高速增长态势。未来,随着5G网络、人工智能、大数据等新型网络技术在各个领域的深入开展,其将为网络安全企业的发展提供新的机遇。
随着科技的进步和社会的发展,网络安全的概念和内涵不断演进。其发展历程可分为起源期、萌芽期、成长期和加速期四个时期,分别对应通信加密时代、计算机安全时代、信息安全时代以及网络空间安全时代。
目前网络安全正处于网络空间安全时代的加速期:2014年中央网络安全和信息化领导小组成立后,网络安全法、等保2.0等政策不断出台,网络安全上升为国家战略。
与信息安全时代的区别在于网络边界逐渐模糊或消失,仅凭传统的边界安全已不能做到有效防护,防护理念和技术发生深刻改变,主动安全逐渐兴起。安全解决方案和安全服务也越来越被重视。
从我国网络安全市场规模来看,2013年开始,随着国家在科技专项上的支持加大、用户需求扩大、企业产品逐步成熟和不断创新,网络安全产业依然处在快速成长阶段,近年来,受下游需求及政府政策的推动,我国网络安全企业数量不断增加,网络安全产业规模也不断发展。
根据中国网络安全产业联盟(CCIA)披露数据,2015-2019年,市场规模增速始终保持在17%以上,2019年我国网络安全市场规模达到478亿元,CCIA预计2020年我国网络安全市场规模为553亿元,同比增长15.69%。
按照产品结构划分,网络安全可以划分为安全硬件、安全软件及安全服务三大类,而每一大类产品包含众多的细分市场,如安全硬件包括防火墙、VP*、入侵检测与防御等,安全软件包括防病毒软件、终端安全软件、邮件安全软件等,安全服务包括咨询、集成、培训、运维等。
IDC表示,2020年,安全硬件在中国整体网络安全支出中将继续占据绝对主导地位,占比高达59.1%,安全软件和安全服务支出比例分别为18.4%和22.5%。
网络安全行业的发展一直是威胁、技术和监管等方面相互博弈的结果,最终达到一个均衡。新的威胁、技术以及新的监管要求,都会带来市场需求的增长。而对安全企业来说,需要密切关注这些力量的变化,推出适合的产品和服务,这样才能在市场上处于不败之地。
随着国家政策对我国网络安全行业的保驾护航,以及网络安全需求日益快速增加,政府、企业、个人在网络安全保障方面的投入都将不断增加,产业发展的驱动力强劲;多重利好因素促使我国网络安全行业市场规模保持着较快的增速增长。
结合IDC、CCIA等的预测,预计到2026年我国网络安全行业市场规模将持续增长到1444亿元,年复合增长率约为17.6%。
—— 以上数据及分析请参考于前瞻产业研究院《中国网络安全行业发展前景预测与投资战略规划分析报告》