您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14905|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-8-19 01:14:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL5 ?2 N6 S' E6 ?2 i
  2. % ~: L" w, J7 h6 V+ @( q
  3. $str = str_replace("http://","",$url); //去掉http://7 R( \  Y* Q: a% }5 G
  4. $strdomain = explode("/",$str); // 以“/”分开成数组
    # r( R( j  V# v6 _3 r
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符
    - z1 k: B0 m! W" X2 A# C
  6. 8 u5 v$ ~- d; w8 b
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
    ) z8 |  e# D  H8 Q* J
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];
    ; w$ c* p6 g1 n- d5 R& e4 r# x
  2. 这个获取上个页面的url. r3 Z: e; {( C) q) o
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html/ l0 [9 p( k) M
  4. 其他页面提交过来的不接受7 Q; w: Z% Q7 c
  5. if(strpos($url,'http://www.weisuyun.com')){9 K" x0 e6 P' Z6 X- n& h! `
  6. echo '来源正确';
      l3 |/ }& _7 Q6 g$ t. I

  7. % B. I: N4 R+ _9 \: C: A
  8. }else{4 S% ~4 b  ?" e* @: C; f$ {* w
  9. echo '来源不明';8 s0 o+ W6 c/ |- s. o
  10. }
    % c4 s( I2 S7 R+ R1 k, v! w& g, k
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码

" a* r7 ~! t/ x/ A' E
- a+ S+ N: g; _0 L6 I) ~" N+ Y; G- n
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
6 I  u  F* J7 h1 D  t( ?2 p+ c7 k0 I! F) u* `

( m6 M- U5 h7 Z

前言

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

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

示例代码

  1. <?php9 l; A1 ^! b* `! K4 Z9 ?) |
  2. //这个类似用来获取访客信息的
    / p, y8 a+ x8 ?+ F! V, B: W
  3. //方便统计
    ! G+ Z1 ?  a' s. H
  4. class visitorInfo
    6 c9 v, ^4 s( {$ z7 z! N
  5. {+ q; Y* p! D# U& g5 }. u7 U0 ]* {
  6. //获取访客ip( _- J8 f+ l8 q2 t% a. G- j
  7. public function getIp()8 Q+ \. ~: l; X4 n2 @3 F3 a
  8. {
    6 L  Q% n7 Q, w9 }
  9.   $ip=false;
    2 L  @) |6 u" z0 \9 X; c
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){2 O+ f; e% t) e  v
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];
    , x, H5 L4 X: z
  12.   }
    ; h8 p1 j+ ]  g- v% _% B
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    ( L; S7 O  j% h7 a) ]
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    / M7 g2 E# P  `7 g5 g7 t
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }; K7 [6 H# l( M8 a  u: E5 s
  16.    for ($i = 0; $i < count($ips); $i++) {
    * z& d3 @5 f; Z1 p
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    ( K# {* l1 J) N% o, [$ [
  18.      $ip = $ips[$i];
    - h) |/ r# \: ]; T% i9 m
  19.      break;
    9 T" s9 a# V  \- Z: t
  20.     }
    - q2 O( d: Y9 E4 `8 V  \6 |' v
  21.    }0 F# n. d) r  e
  22.   }+ d, {& r* i1 c
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    0 Q9 l+ L, |8 o5 k: w/ S, u
  24. }( I; a* t! S  R' a
  25. & E1 V( v$ {) i* y6 o' V; W
  26. //根据ip获取城市、网络运营商等信息& A& ~4 z8 z$ x# H. N
  27. public function findCityByIp($ip){" w" s( q1 s# U, {4 W
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);3 t  f: m' g5 L$ V
  29.   return json_decode($data,$assoc=true);
    ; d4 o0 I: q  Q+ f' [
  30. }
    " m+ O  @8 w) }

  31. " A# U: W" j4 W9 v. x6 i% N' S( q
  32. //获取用户浏览器类型
    . s$ n  Y% X, S* w' `. i3 X2 s1 {
  33. public function getBrowser(){
    1 c$ U) O4 c# z$ L; Q! A- G' ]9 R6 o
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    # G" o! {1 N9 h
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
    7 V: o1 I' U6 r7 b
  36.    return "ie";
    % c8 o) g) j, }6 c% {1 }
  37.   else if(strpos($agent,'Firefox')!==false)1 N/ A+ @$ L; ~6 z' I% D1 B
  38.    return "firefox";
    3 Z" [0 `4 d* |3 t1 o8 H3 N& O
  39.   else if(strpos($agent,'Chrome')!==false)" f0 `0 O6 g8 M8 J4 m
  40.    return "chrome";
    8 V, A: |8 R3 S# N& P/ }- [1 E% t
  41.   else if(strpos($agent,'Opera')!==false)
    5 k* x; |1 z, }. B0 R
  42.    return 'opera';
    3 l+ ^+ ^, L& F* j& G$ [6 ~
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)( L2 n/ e% {9 D2 m5 R0 H
  44.    return 'safari';
    " Q4 N& q+ h+ h
  45.   else
    : Y5 @* F3 s* ]. @+ F  U
  46.    return 'unknown';
    4 d8 X* w& W/ H2 E: P# ]  l, K7 q6 f7 j
  47. }
    ) K/ Z+ R, H* N9 Q1 G5 T

  48. , E7 w- f* p* Z% a- N$ E
  49. //获取网站来源
    8 r& S7 o& E& _* M
  50. public function getFromPage(){
    ( R% f( e& _* e" _$ z0 L. @+ i: W
  51.   return $_SERVER['HTTP_REFERER'];
    , C' k" s/ ?) ~. T- d% y- e
  52. }
    ' p3 F* u( i# p# ^, [6 y
  53. : [6 [8 o1 ]( T, b6 V( ]
  54. }
复制代码

总结

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


, A8 Z  j  C, b. F0 _3 x( {, w8 x0 v
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 13:02 , Processed in 0.051467 second(s), 20 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!