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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-8-19 01:14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL, E: F( G$ z& m7 n
  2. ) r9 E; H4 {' ?, X3 @; k
  3. $str = str_replace("http://","",$url); //去掉http://
    8 Z1 K$ Y7 L# d- c
  4. $strdomain = explode("/",$str); // 以“/”分开成数组
    + Q% }, Z0 I$ ~- k4 B
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符
    + H2 S6 y/ g+ T( g) \& V) M% h1 k- T0 w; J

  6. ; v8 r* a6 l+ R1 h& n- f% N0 [$ _
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:' ]8 S: w# [( g/ ~# E6 D
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];6 l1 i5 b  }/ I3 X/ ]5 W+ O
  2. 这个获取上个页面的url
    8 W% f. b6 _! Z
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html3 I9 u- p6 _' K6 T# d* n
  4. 其他页面提交过来的不接受' ?, `: s1 x0 E8 M  s5 x( j, G
  5. if(strpos($url,'http://www.weisuyun.com')){7 _, A1 e% g" G
  6. echo '来源正确';5 N$ n5 p; l3 H7 Z

  7. 5 V8 L# _9 c) q1 r* s) z; g5 w
  8. }else{4 ^& g3 w/ R. ]2 U( U5 x( O
  9. echo '来源不明';
    $ V" P9 m) a% {
  10. }
    3 o' ~% u& ]. a6 ^: u! m4 s! @
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码
6 T+ ~  b) v; w

0 ]1 t+ }: K  f+ X2 K! C2 g/ X7 I" y4 A& j# p8 n4 [
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
3 x+ d0 I  z0 |, J5 }( ]* k" l6 {# D$ O

) d# e$ `7 E0 i& i( b

前言

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

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

示例代码

  1. <?php
    . {0 k: v0 Z( e4 a! `" n( H' W4 ~
  2. //这个类似用来获取访客信息的# {2 y% p# w/ G
  3. //方便统计$ c0 @( t5 d' g# x
  4. class visitorInfo
      \: c9 w& C9 f0 f( F! S; n- ?' c
  5. {
    * ~+ e# N# E1 A$ W; K. n
  6. //获取访客ip1 e+ l# j0 K) M; ]5 n; g
  7. public function getIp()
    # Y3 R$ p5 p$ b7 j- l: T2 o
  8. {$ I6 E$ \9 H: s6 U( M9 `& O
  9.   $ip=false;6 @( O: a, ]8 V; D9 j6 Q! E4 T4 a. g
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    % N7 }  o6 H# \
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];
    8 [: a) v/ V( k4 p2 d& S0 a1 Z/ s3 v
  12.   }" ]$ p$ r; f- x8 g" r5 J* _6 j  z
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    ( {! q. G* E) n+ Q/ p
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);$ `% O6 j9 L. g
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    5 l# f, l; w) _! O1 e& l
  16.    for ($i = 0; $i < count($ips); $i++) {0 `7 I' u5 m4 y  W! m! }2 w. |! N
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    ; r% `% f# Y5 l: n+ g. A
  18.      $ip = $ips[$i];
    " [4 P5 O/ y2 W7 J
  19.      break;
    + \7 t( [8 f+ K0 @$ h; h
  20.     }
    * o5 c  e4 ?/ M* D
  21.    }1 b9 I' U7 \+ k/ Z: S- K. v
  22.   }
    2 R) n8 F# a# O, G5 s/ L+ H
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    ) Q* T/ _* E  Y7 t/ t
  24. }, [5 |. p( o3 z# O2 s

  25. 9 t5 l6 Y& n" P% r/ O
  26. //根据ip获取城市、网络运营商等信息# J* N. ^' [5 k7 `+ P9 \
  27. public function findCityByIp($ip){$ C1 o3 m& Y) l2 I' N
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
    / x& p# I; r; Q4 l; q
  29.   return json_decode($data,$assoc=true);
    ; j8 s5 R2 G% T2 C9 |+ c% v. y
  30. }* o, {. R' ]8 M6 H* c- w" F6 D

  31. ' @4 y7 |6 {4 s5 u( w
  32. //获取用户浏览器类型
    : C7 g! ~% b9 X' z' R) X0 j
  33. public function getBrowser(){
    6 C% q2 N& l2 w/ k. U5 k
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    / A1 o# I* J6 Z& {3 _! J# N
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
    8 Q$ T1 U, a+ C8 n1 s4 j
  36.    return "ie";
    ! ~0 ~% J* p& d( a2 L
  37.   else if(strpos($agent,'Firefox')!==false)' r/ E6 K, C) }* x4 s
  38.    return "firefox";
    ; B9 X$ C4 x  |( d" o
  39.   else if(strpos($agent,'Chrome')!==false)
    2 ~1 M$ k6 {2 q7 e- u1 w: L
  40.    return "chrome";
    ! G# q7 E" O6 M3 Y1 Q9 v, Z( s. V
  41.   else if(strpos($agent,'Opera')!==false)
    5 b6 f8 S6 x4 O4 q2 ~
  42.    return 'opera';/ v2 h* \8 y* F& [' r) @
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)# w6 a+ n  {2 _4 [6 k) J1 I) c
  44.    return 'safari';
    0 \2 V1 ~+ `% q0 q" i4 K  r
  45.   else
    & V1 L+ E2 E. r+ n' |) z& r# g1 D
  46.    return 'unknown';. ?$ S1 O- v! `2 T* \* k
  47. }! Z  q0 h) I7 \$ i  v

  48. % w( R( W4 u9 ~& `; ~( J7 z' b* H, y
  49. //获取网站来源  [$ f! e6 ~! l8 u7 L
  50. public function getFromPage(){- v3 ~0 C7 L: Q4 \+ k4 y
  51.   return $_SERVER['HTTP_REFERER'];
    - N* d8 E  k' S0 R: b7 J
  52. }
    % |2 }# w. }9 ^) T, H" J# J
  53. 1 [( {- C7 ^6 _1 x
  54. }
复制代码

总结

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


5 T' U- _+ K1 f; c: j0 F$ C
: p2 C+ B. i1 X' P/ e7 q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 20:01 , Processed in 0.104682 second(s), 19 queries .

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