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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-8-19 01:14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL  f+ t' _4 X- `7 u+ e
  2. ; Q# X1 Z$ M) `- \. H" |
  3. $str = str_replace("http://","",$url); //去掉http://. Z7 z) e- H; _) N
  4. $strdomain = explode("/",$str); // 以“/”分开成数组
    + S3 W0 I3 U1 W. I! H6 G3 h, v2 [1 Y6 e
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符% a8 f% g/ `7 _+ ~6 B

  6.   n+ z" e: [" x" g6 m
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
    " j4 d# K+ Z( t# z
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];
    & I( e" t. A9 Z$ B
  2. 这个获取上个页面的url
    - D" x. S& K* f8 W
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html
    4 j% B& Q. I* k3 L; R
  4. 其他页面提交过来的不接受% L+ j/ `# Y! f
  5. if(strpos($url,'http://www.weisuyun.com')){. l- ~* P+ A& e) k  z/ A
  6. echo '来源正确';! t( g/ I9 B" D% H! s

  7. * F( @8 s  f/ T; L/ I7 J+ ~
  8. }else{
    8 P! }. q2 C' E  C/ ]- h5 E
  9. echo '来源不明';
    ( V3 D$ M1 O1 _
  10. }
    % Y. I" `. y$ [
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码

* |% y2 P5 G: T9 k% |9 N1 t0 q
: z  F; I9 N0 B$ P1 F1 H. u' I; W/ ~: {. L6 _
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
- u' m- E) p4 x( {3 i
! @' q6 `  X4 p/ @! @! N; @: K# ?

前言

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

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

示例代码

  1. <?php4 k( l8 D, X5 @7 X# h, S
  2. //这个类似用来获取访客信息的* E% T5 F% c% ~! L( O* `( V: K
  3. //方便统计2 @- G+ f  v9 i0 h2 _
  4. class visitorInfo& @  t3 C1 D. o8 k& X) F9 K0 [
  5. {$ a6 F2 L( U4 W# W9 b
  6. //获取访客ip0 G' F9 k/ P' _; x7 @7 I8 A$ q
  7. public function getIp()) |* p6 a& Q* W! j! G
  8. {
    * m8 E/ ~* s5 `- |  @
  9.   $ip=false;$ J. j. _  _: P/ @& y# ~" \0 t
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){* w4 S3 N2 p5 l* ?( J- h
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];
    & x8 m; G8 p% g" S! |1 E
  12.   }
      _8 N6 B0 G& f2 ?- O% m
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {& ^4 Z% j- [# Y0 c" \" n8 y; o
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    - ~( q: a7 S9 ?* I$ h# c
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }9 |$ m% M5 y% p) g2 J/ B
  16.    for ($i = 0; $i < count($ips); $i++) {
    2 O* s/ I9 \6 m2 y" p
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    ' \3 K6 R, z0 A  z; J3 [) c% i& S
  18.      $ip = $ips[$i];
    6 {$ J! y' C: P- m! @! U
  19.      break;* w% B  w2 W  c3 O
  20.     }
    ' C0 m9 |# L4 N+ Z  K
  21.    }. [0 W9 I$ D6 [. u( G, f; ~6 U
  22.   }
    3 @/ q. J$ V  u, s7 t. X
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    9 q8 y' i0 c- Y3 ^: y
  24. }3 N2 t# q  W0 N4 o+ @9 d
  25. / n1 ]- |5 x! W9 q* N$ w
  26. //根据ip获取城市、网络运营商等信息# W. {3 _6 U9 U& v8 F- i$ y
  27. public function findCityByIp($ip){# m. E6 t" t) t% ]6 q' [" L5 o* {
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
    ( ^7 C% r, a8 A2 I6 h
  29.   return json_decode($data,$assoc=true);
    1 Q! `0 ~0 y) a8 {+ G4 F
  30. }
    1 t; r8 i( b2 n: N, X
  31. + m' `- U3 N# z% \1 t  ~" ?
  32. //获取用户浏览器类型% Z! S+ L5 w8 M" o$ P4 Y
  33. public function getBrowser(){
    0 Z( t1 [# \! n0 d# a2 a
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];# p" W% r( }2 J7 f' F& k
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断9 h: c, P% E9 D4 j7 h
  36.    return "ie";. l1 a7 A9 O9 O8 E& @
  37.   else if(strpos($agent,'Firefox')!==false)+ t. k; R* ^) l# x* S* j
  38.    return "firefox";8 o/ e3 I) O) `6 b( N
  39.   else if(strpos($agent,'Chrome')!==false)
    . S9 z  x( s- g* \: z. b* ?4 e
  40.    return "chrome";  {8 b" J# b! D) }. u3 O
  41.   else if(strpos($agent,'Opera')!==false)% K3 t; f9 X7 z
  42.    return 'opera';. F' _, l3 e( K9 Z/ a6 l4 z
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)+ |3 M9 q# V7 Y
  44.    return 'safari';
    , @0 V+ j6 _& o. P! W
  45.   else
    0 [" ~! V8 _6 Q
  46.    return 'unknown';
    3 ]& [- g3 z; i( q6 G8 ~5 q1 H
  47. }
    ) n: g4 Q$ j" R1 i2 U
  48.   C3 S- J: v. x
  49. //获取网站来源* A, J2 ]+ z$ A! M1 S6 Q
  50. public function getFromPage(){
    6 C! A0 D& a' w9 F4 V
  51.   return $_SERVER['HTTP_REFERER'];0 {7 D+ |' R+ k6 b2 I8 \" ]& \7 F
  52. }
    8 L6 X! O* D, }8 Q3 i0 k; x; c
  53. ) D3 `$ S9 V( r/ a# T' V) l
  54. }
复制代码

总结

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


2 d1 B' U. ?9 S5 P# I
9 \; p* y8 ?: \
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-22 11:52 , Processed in 0.062715 second(s), 19 queries .

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