设为首页收藏本站| vip购买 |

cncml手绘网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 224|回复: 0

[php学习资料] PHP获取来路域名

[复制链接]
发表于 2018-8-19 01:14:23 | 显示全部楼层 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
    9 k  z8 \& I# F' g. f
  2. 5 c0 x2 r" s* g
  3. $str = str_replace("http://","",$url); //去掉http://
    2 I: Z% h9 W  L) Y; D
  4. $strdomain = explode("/",$str); // 以“/”分开成数组$ H/ N/ L2 p( |) u/ w
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符- v( ]7 h1 \: }# y! }
  6. + p- v. L2 S" A# l) `
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
    ; ~& D- D  O3 e& s/ V9 R
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];1 K7 w2 s8 Z" l" E( K- S9 f
  2. 这个获取上个页面的url
    - Q# c' k. @2 h. K' U  M
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html
    $ w- f# `6 p. F% |7 J- x! C
  4. 其他页面提交过来的不接受
    . W8 A5 E) ?( b! l
  5. if(strpos($url,'http://www.weisuyun.com')){
    1 P5 h( ~4 l2 l. J/ r$ I
  6. echo '来源正确';
    6 F1 W( d8 |! ^; v+ Q
  7. % _2 j2 ~# R- X+ a; H
  8. }else{
    $ l' {$ B" d2 @* w9 m. T3 q
  9. echo '来源不明';
      }/ x0 I1 N5 `( ?/ w6 m  Y0 a2 z
  10. }# H" ?% K$ t2 D9 r- [* c# L% d
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码

' l0 B7 s/ A/ M; L+ J+ c9 s# F# j8 M$ H, r' _8 A
% a- y4 m) x4 I! S
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
$ w& O! \, M5 c5 A7 U, `& n2 I* x- H

+ _' I9 v. p- m+ B+ \" U: ]: Z) w

前言

本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:

不多说了,每个方法都注释了,可以直接用:

示例代码

  1. <?php6 k/ R6 \2 V2 G4 _8 p
  2. //这个类似用来获取访客信息的" g$ O5 ]4 s6 c4 v6 I6 t; n
  3. //方便统计0 I1 }7 c5 ]) T% B7 k# ~
  4. class visitorInfo
    3 t. D2 v  F. q! b. b/ r8 F$ |
  5. {
    ; ^" g: a0 A7 i& p
  6. //获取访客ip/ C% G2 m* I$ ^% O
  7. public function getIp(). e' l5 Z% k( e0 u, N& ?' k
  8. {8 J" N' ~4 o# P! U  R' u) X* ]  ~
  9.   $ip=false;
    - y' P: t5 J- E
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    " v( W2 _1 B- i3 l" D+ S- v( H
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];# |% J, E, P8 f$ O
  12.   }
    * T# h7 L3 {5 t, u% i
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {. {+ m& T! p* S, f9 L5 N+ H
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);. E" N/ {. H2 T* k0 `8 l; v
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    ! J  Z) l) Q+ R% S* l# l. Q7 Z* `
  16.    for ($i = 0; $i < count($ips); $i++) {
    / [# F6 e; U4 U% M' k- i) T
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {8 ]8 a' n1 w, l5 ]5 n2 D. U
  18.      $ip = $ips[$i];
    & c' u0 l2 L* T1 x/ h8 ~; V
  19.      break;
    7 @3 ]; c# U; p9 v- ?  p! q
  20.     }9 N* z* g) F1 U
  21.    }% K- A$ t- ^: x$ c1 c
  22.   }; O7 l6 d8 [1 ^% l7 V- U
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    ) T, k$ t1 r9 k2 x
  24. }( D; m6 m) U( G3 y- e$ {
  25. 4 B3 H+ e: a5 c+ Y) Q- K+ k
  26. //根据ip获取城市、网络运营商等信息/ M% z# L8 o- Q+ v0 o/ R1 S3 ]; B  \
  27. public function findCityByIp($ip){7 p5 p) I* I! `1 Y
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
    5 @! R1 P- r5 A+ E9 p/ W, Z
  29.   return json_decode($data,$assoc=true);
    - b% n! \! z  y& ]; t$ b
  30. }
    1 [0 V& |5 ^2 @  m

  31. $ D3 g1 \1 Z" ?& j9 `. f1 X7 w6 w
  32. //获取用户浏览器类型
    5 I6 b7 z. ]4 A+ Z2 |5 i5 \! q( E
  33. public function getBrowser(){
    9 ~' Y/ o7 ]) u, M0 e
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    " Q/ I' ^0 `. |
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
    $ `# `) s2 Z7 H* C
  36.    return "ie";& C) V: J! J+ i8 k5 v# b
  37.   else if(strpos($agent,'Firefox')!==false)
    * |; {: e2 \2 T1 W' H% S
  38.    return "firefox";% ]4 \) P' M2 I/ V
  39.   else if(strpos($agent,'Chrome')!==false)! J% D6 f+ k4 `( A. s
  40.    return "chrome";
    3 X# |8 A/ w; u
  41.   else if(strpos($agent,'Opera')!==false)
    9 `' H3 Y, e& v" s
  42.    return 'opera';
    1 W2 ^4 c% a; a
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false), q. e# z8 E( I- N) J
  44.    return 'safari';' j3 ?. Y# t6 U9 r" m, S$ W
  45.   else
    % n: n$ P* W  _0 W( D3 ?8 f
  46.    return 'unknown';: H  n5 D- e  r/ P
  47. }
    9 j5 Q9 S7 k3 f% M
  48. ' Y6 h9 ~0 D7 t# \" P' l
  49. //获取网站来源
    - ^" N5 k2 d3 o0 t  E; _
  50. public function getFromPage(){0 W/ s/ L9 `2 z
  51.   return $_SERVER['HTTP_REFERER'];, ?* ?# X5 }$ y
  52. }
    ; a8 C/ U: {- g% l

  53.   W' X1 j, \  C! W& A
  54. }
复制代码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。


, z! T, `' }. i4 Y% ~* X& a) v# Z: G) E4 ]  O
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则