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

cncml手绘网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 75|回复: 0

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

[复制链接]
发表于 2018-8-19 01:14:23 | 显示全部楼层 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL; Q! r' S$ \; c0 ^
  2. # K, A' X  ^; W- h3 v5 d
  3. $str = str_replace("http://","",$url); //去掉http://
    ! e+ d' h% B& O0 P8 X. l
  4. $strdomain = explode("/",$str); // 以“/”分开成数组
    ' V1 [% f/ `: s0 |- Z1 f4 d5 E
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符
    3 n* P7 m4 b0 x# ]
  6. , u7 O+ i7 @% K, K; _8 k: i3 ~% C
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
    ( v0 ~1 V( b& f# ]. {6 w
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];
    ( q/ J- q$ Z, b
  2. 这个获取上个页面的url' R( M) K% m6 X$ ~
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html4 ]% z0 H1 w) `' L4 }. a" v0 L$ C% {3 `
  4. 其他页面提交过来的不接受
    0 K0 V4 E  y& U5 Z, p3 Y
  5. if(strpos($url,'http://www.weisuyun.com')){- H4 A8 [7 h; l0 h% p8 G: v) t
  6. echo '来源正确';
    - P3 S# b( ]# w+ z
  7.   W7 o: C9 I- ]  F( R& G8 Z$ w
  8. }else{- j' c* C) m; s3 t. J* R; @
  9. echo '来源不明';" K; a. v2 E* N+ ]! y# _
  10. }' K4 J3 R: U) |  R/ r! W
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码
/ ^- |2 G9 t2 e; I) y9 L  c8 s

; |6 r" b! R7 V' Z. i9 V. X( C8 T& B: s: H+ @) ]9 U3 {, e, @6 x
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息2 q5 f8 b$ o% \

  M3 @5 N# X5 f) S9 ]( \. F: n+ Q4 A( D5 @8 M5 K- `

前言

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

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

示例代码

  1. <?php
    ( W" X. {9 Y  x. d% o5 L6 E
  2. //这个类似用来获取访客信息的
    ! d  P8 E* I  Q1 V8 W; C  y
  3. //方便统计4 |& i  B9 l) R
  4. class visitorInfo/ R' J0 |6 m4 k. A# r& q6 l
  5. {- [1 T% {# o$ v# W: y2 a% C; Y! E1 u
  6. //获取访客ip
    # V% H# I. w( k
  7. public function getIp()* p% \( Y+ u% O8 [9 ^, K, x
  8. {+ {4 N# J& F4 M  n6 j' u
  9.   $ip=false;* Q, z$ K7 e% T5 A  k
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){5 j" E5 R7 X. J% H# v
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];( d+ K! Y7 Z; [) C  G: f
  12.   }
    ! b' s' ]$ E/ X9 j% C& |0 Y/ t; x! ]
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    ; O7 v& i$ o' s. w8 f
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    1 I  u4 F. k2 J3 U
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }) z* u& b* }% G7 {
  16.    for ($i = 0; $i < count($ips); $i++) {
    % P, y, Q$ N; x( H% S/ t
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {" {2 F/ m) L1 `) X: n* O
  18.      $ip = $ips[$i];! \8 e! v4 a' g7 v/ |
  19.      break;+ j& ^+ Z7 ^) L; a# m$ D0 l
  20.     }
    ' x, Q( Y, G5 j8 R7 S
  21.    }
    3 f: q3 ^8 b7 a2 r' M4 w) C
  22.   }+ X  K4 x8 }$ t& |7 O# c6 [
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    4 @( v) F3 h1 b7 S8 F& F) l
  24. }4 {2 @6 N2 z, }) q

  25. ; D# L& F3 k- H4 @, j7 p
  26. //根据ip获取城市、网络运营商等信息2 h: n1 j+ w, l6 U, e% Q( o
  27. public function findCityByIp($ip){
    6 g0 q6 _" J& A% N/ s
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
    * N; X- Y% B' Z5 D# }  V9 h
  29.   return json_decode($data,$assoc=true);- k* Q2 t& f+ I! W) J. C2 C
  30. }  h# m9 d2 ^. ~  N* `9 g, n
  31. ! Z2 S# e( k. f0 z5 l) a8 X3 e% x
  32. //获取用户浏览器类型
    - W4 y" ~# |5 k* f
  33. public function getBrowser(){
    ' i/ _7 g/ p1 E/ i/ r
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    ! s- l3 d$ S. a- P7 b7 K
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
    : ]. w2 I' K8 P. o: Q& Y  l
  36.    return "ie";. l# S- n: z+ g4 y
  37.   else if(strpos($agent,'Firefox')!==false)
    0 [2 a" n" Y3 n# _1 W
  38.    return "firefox";
    ! B$ t6 l+ k, z7 v% t& l6 S; a
  39.   else if(strpos($agent,'Chrome')!==false)
    - ^) e6 B, g; q7 f0 K: {' h$ z0 Y
  40.    return "chrome";( x) L' R8 s9 Y, v+ f
  41.   else if(strpos($agent,'Opera')!==false)& A) z- X% C5 f" v& K! w' {! Z% k1 N/ S, f
  42.    return 'opera';/ h# {9 @; ~. [+ G
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
    ; W$ Y/ s7 L/ Y+ k( H
  44.    return 'safari';
    . t* Z! G# D! V6 {9 _
  45.   else
    * V- j1 D5 u( w" V( z+ E0 ^
  46.    return 'unknown';
    5 o( r% a" @+ G- s4 c/ _
  47. }
    " v$ K0 R1 f$ z2 m6 ]  s
  48. , L' I& d* K7 S% g5 K5 Q9 `3 V2 O5 y
  49. //获取网站来源
    2 y9 o' m  v: ?
  50. public function getFromPage(){
    4 i7 B1 {; T9 K' v; V8 b/ I
  51.   return $_SERVER['HTTP_REFERER'];
    1 j( ?* y& }0 x$ x% Y% ^. I9 o
  52. }
    & V, U1 r4 G9 N: T0 ?
  53. 9 }$ R# K7 ?' g4 x! h
  54. }
复制代码

总结

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


% E. @$ K4 T4 i3 O% o& r% V) Z+ Z
% m2 y9 K, D% I+ u; e. Q9 h
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则