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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-8-19 01:14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL- A9 `) G( j! B9 X0 H5 A$ m6 S

  2. / W$ D' @" B7 t8 O& g; B
  3. $str = str_replace("http://","",$url); //去掉http://( r' \& K4 l: ]/ c- K
  4. $strdomain = explode("/",$str); // 以“/”分开成数组, g3 R; c  |: ~7 e; T' D* t7 A5 q, M
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符
    8 T5 }8 j+ R, |" K* z

  6. 7 r4 _1 Y/ V3 u% v; |6 t2 g% X
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:* R/ s& e" x5 q
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];' K7 ~+ L  [$ k; O
  2. 这个获取上个页面的url5 d3 m5 l, j3 x1 [$ o# ?0 F, X
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html
    0 q* K$ C& ]/ ]! N" d; m# ^
  4. 其他页面提交过来的不接受
    " w! H9 T8 K% h$ O0 U
  5. if(strpos($url,'http://www.weisuyun.com')){
    ' y" I! l4 D2 L0 f5 K' M
  6. echo '来源正确';. o; @2 w( s( k! v, O

  7. 6 E7 }( Q, h* a
  8. }else{' j6 R, {7 [8 \1 y7 y
  9. echo '来源不明';- |; a) d8 @0 I6 D/ Z1 M6 f
  10. }' n" j. [. Y. _' C. g5 F0 h# W; S: }
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码

5 y( n: o- ?+ w9 s# A; T( y( r
0 v8 p; v& W+ K
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息' Q) Z  s% S  s, P6 h- Y7 u* Z

: `( ?" _; ~0 }9 @( ~# _2 _) [. \3 g

前言

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

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

示例代码

  1. <?php( P8 {8 I8 z% P& |: w
  2. //这个类似用来获取访客信息的
    $ J  F, W1 }8 G7 ^/ N
  3. //方便统计
    + @" k+ G8 \" H) F2 s' s
  4. class visitorInfo, v3 [4 K0 r& }
  5. {
    : W, G* q( @, A# C; X6 Y
  6. //获取访客ip
    : ]8 ?& i' R! v# W& N
  7. public function getIp()
    6 e$ u/ c  b( g; \6 V
  8. {
    ; J- c; L4 I. r& J) Q) }
  9.   $ip=false;
    7 A6 h: p- k4 m& w% m
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){2 j1 q- _/ z9 r+ v' Z& v& _
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];
    2 P2 @! h7 W8 w, \+ S+ v
  12.   }
    1 j# t4 K5 O6 r5 m' Z! ~1 K) ^
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    9 {9 w) ]  W  g" {1 U0 Y! I
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    : Q( d& J1 h6 j3 }+ Z
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    ( s: h/ Z4 \8 ^% ^  P
  16.    for ($i = 0; $i < count($ips); $i++) {
    0 H, t& T2 d& F  f
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {; p0 }6 w! D# x
  18.      $ip = $ips[$i];  T$ f6 w' |8 ^: M# P% o, o" P
  19.      break;% V4 W" k3 s9 k8 M
  20.     }
    " H3 o0 a, M  T3 ~: m# u
  21.    }
    % q  h( M9 X7 D( @/ @. F8 C
  22.   }( l" N( U, b( K
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    $ I9 g! g$ |% E1 W, v0 D
  24. }
    . o; K0 S. z: f3 F- X0 k8 K& z! i

  25. 5 S& O7 d1 K7 j' N/ p
  26. //根据ip获取城市、网络运营商等信息
    / k, R  m+ P8 |8 ^# @
  27. public function findCityByIp($ip){
    4 O9 y1 F+ q& P
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
    1 q: m) b# }8 V7 ^( f; v+ y
  29.   return json_decode($data,$assoc=true);. F' `  M& {2 B, c0 q
  30. }
    / J& G7 l+ m( H
  31. ; l5 }+ g$ o, n4 O7 j2 L# K) b* U
  32. //获取用户浏览器类型
    8 x- E5 p. [8 Z4 x3 n7 \
  33. public function getBrowser(){
    3 K' |7 f; J0 i& a* a/ Z; h0 T$ u
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    ; q: ]! g6 Y" a( d7 D. u4 u' O) o# I- ]
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
    * j6 b$ r' w  y+ z2 i$ C$ G3 l
  36.    return "ie";
    ) Y9 I! V' Q+ K
  37.   else if(strpos($agent,'Firefox')!==false)1 T2 N; r3 F; y4 m8 R# R
  38.    return "firefox";
    * b* r8 D" e1 J8 t% G
  39.   else if(strpos($agent,'Chrome')!==false)9 z( r7 d6 |6 Z% h) j- h' N
  40.    return "chrome";) N4 z& p& R/ F5 j. I
  41.   else if(strpos($agent,'Opera')!==false)
    0 n0 M( P( h+ m0 {
  42.    return 'opera';
    2 _) c! ^. M& I) ~! ^2 ?' C
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)8 W) U+ w& G0 C5 K2 m. ^2 P% T2 D7 }
  44.    return 'safari';4 _8 |+ \1 a, Y, _+ w& {
  45.   else/ c: E6 |* p" H$ j! r. D, R2 D
  46.    return 'unknown';
    7 Q$ S4 f+ T) v0 U% O$ [5 Q, ?! U1 |$ U
  47. }
      D% e4 V! p) L( L' z
  48. $ O7 K1 O$ C7 s; H/ t% O
  49. //获取网站来源
    # W0 M% I8 m, h  O! i' g
  50. public function getFromPage(){
    1 F! O: I$ b, R
  51.   return $_SERVER['HTTP_REFERER'];
    - [9 W9 {& I# }/ j7 o! E" \9 r
  52. }, i; v- i( h. Y5 k6 t$ @' B4 R
  53. 9 {1 x+ D5 z, S1 K
  54. }
复制代码

总结

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


7 z# W3 R& j/ L# Q  P6 H' k! W/ Z2 U. e0 Y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-5-2 15:44 , Processed in 0.080199 second(s), 20 queries .

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