cncml手绘网

标题: PHP获取来路域名 [打印本页]

作者: admin    时间: 2018-8-19 01:14
标题: PHP获取来路域名
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL' T/ P5 H) u+ e( j# C; e
  2. 2 O; N+ Z0 S  ?' X6 c* }! J" t
  3. $str = str_replace("http://","",$url); //去掉http://
    & K, P: O" j( d' q1 J
  4. $strdomain = explode("/",$str); // 以“/”分开成数组7 m- P8 b9 r5 l: o. s1 h
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符
    8 g' ^7 L8 }/ l* Q/ U0 R
  6. 3 ]; z5 j/ `6 R
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
    3 {4 o  ^- B+ M) L: y
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];
    4 d. g. }8 q  O# Y7 q
  2. 这个获取上个页面的url) j' L' I4 T7 P. q4 g6 _6 q/ v
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html! V% `& X9 ^- R; x! g# x9 p/ N
  4. 其他页面提交过来的不接受
    2 n: J" j" b; t  t" y- F
  5. if(strpos($url,'http://www.weisuyun.com')){
    8 L4 ?( U& P$ |) o( ~
  6. echo '来源正确';) Y: j" V# U9 w0 E) r

  7. , @- Q6 y2 n4 ~: Z5 V+ U& z
  8. }else{8 D+ Q0 V/ j; Z) m% A: l' K9 j
  9. echo '来源不明';
    6 G0 G- _) |/ }/ v
  10. }
    7 K: w- o3 g) a% g* a8 y
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码

4 ?' q$ J. G5 ^3 u+ q
+ P- ]) l) s' I3 q
/ x' d' a7 o5 T' x' c3 k利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
) V8 g4 R7 m2 i& J
, [+ ^0 ~! q0 E  |( V$ v
+ j# U$ H/ G- q& \3 o, g

前言

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

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

示例代码

  1. <?php
    5 p+ L$ w. O2 `7 }
  2. //这个类似用来获取访客信息的! h+ i) R. r" D3 b' S( W
  3. //方便统计
    ( ?4 S4 Q6 _8 r
  4. class visitorInfo; @5 v4 x* T& T& R" f
  5. {! R! T! u+ T1 y) I2 H- Y" L
  6. //获取访客ip+ x1 m5 V6 l0 D, F6 n: D
  7. public function getIp()2 ]$ m$ t6 y4 Q4 V
  8. {
    ( e$ {; F9 V9 r: T6 g5 y. s
  9.   $ip=false;: P% _' ]- C1 p
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    / y7 s  J& o9 V7 y( k  m- N
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];; i. ?( c* q* u9 \8 H! ^
  12.   }$ P' s6 a0 N; q1 L  i
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {, `9 f) y% F, y; ?$ z& E  t
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    ) w% c6 j1 h, B# S& [- {
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }" r  J  x+ G: b; _" q* V! `
  16.    for ($i = 0; $i < count($ips); $i++) {
    4 M; U( N8 O( P' ^+ s2 q
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    0 g' D& \4 B6 ~! R! i
  18.      $ip = $ips[$i];8 f$ B; J$ }8 E7 v% _
  19.      break;9 d2 }% C; D4 R% }& b1 U. ?  a
  20.     }) y" H# o1 x# Z) n
  21.    }0 b9 r2 N# [- [+ n  f2 T  d0 P4 g
  22.   }3 E7 m2 D) d. W
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);0 c, E3 e0 O- y3 M* W7 H5 _! ^
  24. }8 F+ Y4 X+ d% q* I; Y; L; F
  25. - a, R3 i' x+ O# ?3 g! {
  26. //根据ip获取城市、网络运营商等信息0 A6 f# E  j8 f0 L  I% ^# j1 g
  27. public function findCityByIp($ip){- f" X9 m8 s' V7 L
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
    5 ?9 o6 [; {/ u" x
  29.   return json_decode($data,$assoc=true);
    ( H! m* t) M! a- P, G5 r
  30. }
    0 }" @9 t, r8 p2 G- V
  31. 7 {" S+ P1 }" X; |% m$ U$ e/ u5 }3 n' {
  32. //获取用户浏览器类型
    1 W8 M& q. `- h
  33. public function getBrowser(){: F; Z* H/ a# p$ p- M
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];8 M1 f5 ]+ _9 P$ A5 @( W1 Z
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断  p4 l3 e7 u# e+ a/ }. y( F+ e
  36.    return "ie";8 f3 Z0 Q' }& h2 i- b. b: e
  37.   else if(strpos($agent,'Firefox')!==false)
    ( u1 C: b9 E, I( B+ X% m
  38.    return "firefox";
    ( o$ e* u" G" U. Z' x' }9 G" o
  39.   else if(strpos($agent,'Chrome')!==false)
    * V7 V; D3 E3 R* |- |3 g+ I; Q" C
  40.    return "chrome";
    . c3 v3 ?. J. T* ]  D
  41.   else if(strpos($agent,'Opera')!==false)- s9 H/ k3 E  _0 O1 X  S9 \
  42.    return 'opera';* K" g+ Q* s& X' X; R
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)5 P9 N$ O5 [( q$ |0 \# {
  44.    return 'safari';
    + U* |3 Y1 q1 K0 E
  45.   else
    ! M. q8 g$ z% Q+ G. X5 A5 j
  46.    return 'unknown';9 P! u) Z( h$ k7 I5 @& n
  47. }
    1 A$ n1 ]7 J3 m& A
  48. & u% g( e( m1 ]3 `  ^
  49. //获取网站来源: `4 ]; L  z( }  i' A. y3 K9 C  E2 `
  50. public function getFromPage(){/ i0 o$ u: J+ }1 Z) O
  51.   return $_SERVER['HTTP_REFERER'];
    9 J, R) y, H, G: Q3 c, I/ ?
  52. }/ j3 @  V, Z& X- u$ P1 ~2 ?! r  O$ H0 z- d
  53. 9 t  ^* R$ [" ]
  54. }
复制代码

总结

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


7 z5 z# x, f! J- ^6 d" e8 p
" g; r  @! [1 K4 E5 E3 [4 k0 j2 I




欢迎光临 cncml手绘网 (http://bbs.cncml.com/) Powered by Discuz! X3.2