cncml手绘网

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

作者: admin    时间: 2018-8-19 01:14
标题: PHP获取来路域名
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL$ [: ~5 ?  f  J/ G; `+ U4 ?
  2. 8 q0 G! n  o- n- e
  3. $str = str_replace("http://","",$url); //去掉http://; c5 l, K0 }: j" Q  i$ E" p3 P# g
  4. $strdomain = explode("/",$str); // 以“/”分开成数组! I, ]9 N7 {' K8 K( U
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符. r7 w5 o( t: l1 {) A
  6. ) x9 Y5 A- P9 m1 M8 T3 l
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:7 J1 x" ?" `' P7 g
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];* @+ O5 M( U2 @+ M" c
  2. 这个获取上个页面的url
    + J+ v1 B5 h. s: l
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html0 g8 o! @4 X' ?( d8 k) f
  4. 其他页面提交过来的不接受! E' f  E6 J4 @9 e; l8 [: b
  5. if(strpos($url,'http://www.weisuyun.com')){. ~- ^  d# f6 }) |) {, `9 d
  6. echo '来源正确';
    + c" W9 Z# Q8 |) [& r

  7. 7 P' S+ y! A$ H+ M* F- q+ N0 t
  8. }else{
    0 {7 f) K: O( }: G' O, V6 p' O
  9. echo '来源不明';
    5 U1 D7 ?; R. u6 G! ?1 c% _3 L& n
  10. }
    . q2 \  @9 ?) F' K' T0 Q# B
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码

6 S: p& Q$ {- j" |2 O" C. j* a0 C  t: b6 b1 X
1 [5 U  I1 [. \0 @" e( E) d
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
/ S" N  X, n1 Z/ z; @2 l- n2 {" ~4 g3 ]" f* ?# {, k1 S' X

" p/ n! V5 `4 |0 i

前言

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

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

示例代码

  1. <?php; S. M; x/ G+ t: s& F5 H
  2. //这个类似用来获取访客信息的
    ' H* V: r" B- K: ]% b. k
  3. //方便统计1 S5 g6 z, n7 ~6 i6 j$ I4 \3 L
  4. class visitorInfo
    " R) A7 M, T9 s7 R
  5. {
    $ V! L4 R; h' W6 o0 [; P& P; _
  6. //获取访客ip) F5 k' |: a- c0 f
  7. public function getIp()" E6 ^$ D: ?' f% L8 b' I
  8. {
    ; ~! {7 L: E/ ^9 u7 p
  9.   $ip=false;3 n! u: B* F( A1 J+ o' @9 Y
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){2 P/ A: Q1 y$ n4 A) A
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];
    # `- A2 z: G, f% n2 ^
  12.   }1 \) l3 t" M) C# e8 z% E0 [
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {8 o/ ]3 b; D# C! ?; A! }0 Z( b' F
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    2 ~. ~; S# m6 F% n" M
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    9 U0 Q' Q/ z. ?. t; U
  16.    for ($i = 0; $i < count($ips); $i++) {* o. [2 {: B! _6 W2 i) ^, B3 p
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    3 t2 e5 Y# }2 I0 O9 f4 e, D/ @' E
  18.      $ip = $ips[$i];3 T9 K  k( F" u+ M9 \% ^& u! m
  19.      break;8 H. x' ?  l% x& d0 e. F* z8 ]
  20.     }; _. m- L" }! X- r' I
  21.    }
    1 e( r0 k; F- O: y. q
  22.   }
    5 j, a+ |6 F% S- p6 P8 M: ^/ O
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);! ]  b7 q3 l6 s' N7 }- j
  24. }3 p& F% s* o& [8 w$ E
  25. : N; a) _# W$ f3 E2 x! p) W# Z( E
  26. //根据ip获取城市、网络运营商等信息# v3 u. h" l* j# ~2 x- ?; v
  27. public function findCityByIp($ip){
    4 B9 ?# R& k6 E0 ?7 A+ N- R
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
    . ^' I( u% s) P) r) g
  29.   return json_decode($data,$assoc=true);& ~" J0 Z$ A$ W" q
  30. }
    , ^, g5 A7 o+ j+ a/ H+ c' J

  31. 7 I+ ]. X0 _) \
  32. //获取用户浏览器类型) o. ~5 e) J% b/ Z; s
  33. public function getBrowser(){( R. ?# e9 P0 k% p
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    4 L; e. U/ j( v5 V  u
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断/ @: B3 T4 L' g4 h/ i! P% {8 ?
  36.    return "ie";* g3 o6 m, t- l% Y' ]
  37.   else if(strpos($agent,'Firefox')!==false)0 t/ z! W( `5 u6 I+ o
  38.    return "firefox";
    7 U; x! @. b5 H1 y, G
  39.   else if(strpos($agent,'Chrome')!==false)
    % ?' |7 Z$ E, ]$ m/ z6 h
  40.    return "chrome";
    2 k* U. ~' ?& R+ \/ [* J" Q8 X" B
  41.   else if(strpos($agent,'Opera')!==false)
    $ W8 L% l( n: i8 c
  42.    return 'opera';
    ( S( j* Z3 F* m8 e& O  P: Q7 ^
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
    ' E* n6 W6 q! v% S2 t" b
  44.    return 'safari';0 f: J" H) R8 r% k, B9 L
  45.   else; ]4 I3 C/ e4 W1 y; o) W
  46.    return 'unknown';
    : N; J/ m- v2 V' p
  47. }1 \4 x4 U& i6 H. ~; l7 G
  48. - U# V+ B9 `7 b8 W8 R3 c
  49. //获取网站来源' x/ a+ r) W* r
  50. public function getFromPage(){
    4 u2 s' g' `0 \9 I# _3 g& R
  51.   return $_SERVER['HTTP_REFERER'];$ \* j5 ?; b0 o6 X
  52. }3 Y0 h/ g3 W! O) R
  53. & a/ P( K2 X8 \+ l7 T
  54. }
复制代码

总结

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

/ Q5 d. n2 W( i, [# A0 e( R

, d) l- `% q5 I( g! f. O




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