cncml手绘网

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

作者: admin    时间: 2018-8-19 01:14
标题: PHP获取来路域名
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL+ i' m* M& y' _/ t9 E- V
  2. 9 G8 r$ m; Z, v& ^1 U7 ^- y2 Q
  3. $str = str_replace("http://","",$url); //去掉http://0 s9 g9 @( D! Z# D! Q+ `
  4. $strdomain = explode("/",$str); // 以“/”分开成数组5 X1 {0 Q3 h2 r6 Y3 k1 K
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符
    % o  p; E* I( ]# J
  6. , _) j1 Q% N1 e4 B' J
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:! x: _$ @4 S$ ?+ t( F
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];5 L, C* r' N$ Z* r. s9 O9 F4 f# b
  2. 这个获取上个页面的url# k+ S; k$ o; L" D: P9 ?& N, Z  J
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html9 ]" O. @5 K2 P  ^3 e
  4. 其他页面提交过来的不接受+ U% I; F7 U6 Y( N* d4 A
  5. if(strpos($url,'http://www.weisuyun.com')){
    ' e* `+ H9 S: d/ r5 M% }' y' p0 h/ H
  6. echo '来源正确';
    $ |6 c% e. h# ?7 d

  7. . ]7 G9 C! }( O. H8 i2 R
  8. }else{3 r5 f0 v# P; I1 u3 ^
  9. echo '来源不明';
    % N! ?3 r# x3 P! w1 Z  `
  10. }$ k5 u+ K4 |: b0 N8 T1 Z" t5 x
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码
- `5 A9 p, ?1 l0 `

/ g; z  F, d* X, t# R2 ]' P2 |4 v8 Q$ s% h) _( l. p3 ?
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
! L! q" N* j4 q' ~
2 U+ r* M) k, d* x" G8 n, N$ M( {7 a8 F% I; V) s1 h+ ~* U! R8 U

前言

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

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

示例代码

  1. <?php8 T1 N* U! t+ Z, ^
  2. //这个类似用来获取访客信息的+ p2 r0 U9 j: N* @  G, j
  3. //方便统计. ^! |4 A0 X) O' u0 o/ T. r: C
  4. class visitorInfo+ |$ U& p3 C+ @' C
  5. {
    3 v( ^; j2 C( o. v# A
  6. //获取访客ip: a& }4 U- r* H& j' y7 L) G* B! {$ M
  7. public function getIp()
    1 b7 @- w7 Z  r& G$ E! `
  8. {4 x1 Y) u+ q: X) C
  9.   $ip=false;9 K4 s. \* U; l6 H
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    * v5 Y9 s% y5 g+ R5 z0 k5 Z, e
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];
    + j  T' ]- v! S3 d: z2 d# l, E6 n
  12.   }. d# M5 ]0 l$ X
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {% n) }% f' U9 X& r. P+ k; ^/ d
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    * T; [8 P3 \1 L4 ^, R  ?! r
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    0 ^9 r4 W2 S' U) d9 W6 C/ D4 O- e: c
  16.    for ($i = 0; $i < count($ips); $i++) {, g: L& g& H1 e8 Z% [4 y
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {$ G/ g7 m# G0 E) T( u8 Z0 a
  18.      $ip = $ips[$i];
    ) d. D5 D2 E  {' A  n7 I! e
  19.      break;- l' w4 n0 Q- z
  20.     }6 h$ r2 {% D9 `6 W) D
  21.    }$ I0 {9 u- X7 A1 Z8 c
  22.   }
    1 o- I9 T# p* g8 h: y
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);9 n# X2 h' N/ W4 z- f9 o7 S
  24. }/ s% b4 u% u5 U! n* }  Y0 r7 e$ |% V5 W
  25. ( \& s0 B& t( t! d/ F; S9 A) H7 Y
  26. //根据ip获取城市、网络运营商等信息
    - j8 k' d+ v! K
  27. public function findCityByIp($ip){
    ; m1 E8 t/ P- M5 f$ S! C
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);4 F& i+ W6 V5 I* `! }2 a
  29.   return json_decode($data,$assoc=true);- C3 n: [( a4 N
  30. }
    2 m3 e( \' i; R6 G5 U, v1 {
  31. 6 F1 `% d; G; c! C
  32. //获取用户浏览器类型
    6 i; b! ]3 l- K0 [" N) \
  33. public function getBrowser(){
    / Y! m, n( F# `8 N/ {
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    0 L9 |  ^" e  N8 l- i
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断6 K2 B! N+ K/ i) s1 h/ b. ?4 s
  36.    return "ie";
    % w$ F) ~0 \$ d, ^, V7 L% g4 s
  37.   else if(strpos($agent,'Firefox')!==false)
    0 M' H( i1 T" ]) Y
  38.    return "firefox";
    1 F! c5 f3 Y* R: _2 p, h
  39.   else if(strpos($agent,'Chrome')!==false)! s, C6 \/ `* ]3 K* C/ @5 h
  40.    return "chrome";
    ) i" n4 V. T" ?( `
  41.   else if(strpos($agent,'Opera')!==false)
    " j% V  |+ }8 `, L3 d
  42.    return 'opera';/ A; r# B% t3 W
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false); p& n) r: P  }% H8 s% b# U3 C
  44.    return 'safari';
    3 Y; q- e7 y4 F2 w$ y
  45.   else
    : j7 t/ z8 T8 {
  46.    return 'unknown';
    % G+ k' d, S) @6 ?) T) Q, r
  47. }
    ; ~( B0 M0 R3 h
  48. : u$ f( g3 Y- b
  49. //获取网站来源
    . B6 a5 L, _% l' M
  50. public function getFromPage(){
    , \" Q' Z5 E. S6 ^9 U
  51.   return $_SERVER['HTTP_REFERER'];
    3 E; H7 |* v) [6 H! W$ g, |1 {
  52. }2 J( v4 U- ]& `6 `" p3 n
  53. - H( e% k5 N2 }5 g4 E% f: ?" U
  54. }
复制代码

总结

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

6 j. \( O# z: L$ B

6 ^4 _& W( x; H8 u0 L' m




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