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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-8-19 01:14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL# p( a% |$ `: j$ H  u, _
  2. ) S( ]6 ^3 y  d8 n3 I
  3. $str = str_replace("http://","",$url); //去掉http://
    * }; F' g: e, ^5 p8 Y' f5 j  G
  4. $strdomain = explode("/",$str); // 以“/”分开成数组
    . p/ O: X) o  O2 {8 O$ |
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符5 L* f9 q9 v0 L, {* S' @" ~
  6. 6 ?1 J/ Z4 ?$ e: ]: E# ^* I, l
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:  |: h1 ^; t8 s8 `* d' R' b6 F& b& `$ Z
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];
    ' N9 m; t  O! U
  2. 这个获取上个页面的url9 z) r8 a! E/ v' q7 u- X  c
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html$ s, d+ F) O& i! g+ J3 w
  4. 其他页面提交过来的不接受# @4 v5 Q5 Q& \
  5. if(strpos($url,'http://www.weisuyun.com')){4 P' b* v/ y+ R$ M
  6. echo '来源正确';
    : }4 Q( s! L8 }, l7 D# a
  7. " Y! t! g( j! G
  8. }else{
    0 k# `8 u+ M- [. q9 O1 O5 f
  9. echo '来源不明';
    ' O% S: i9 O  k1 _) z
  10. }
    7 A$ Z$ a1 b4 w! p7 t  L4 f
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码

' j: @* k& ~) H7 l$ Z6 K/ F. u5 \. ~
% g* c( z( Y% }/ h8 h2 R
( H6 }% i) ~6 l利用PHP获取访客IP、地区位置、浏览器及来源页面等信息+ i! w8 r3 v" C& O) t5 A. ~
# P' z( c6 P. N' z( J& J: B

; _. v7 o% e2 c0 i

前言

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

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

示例代码

  1. <?php$ E4 m! Q9 j" U$ {% o( a' ?& p, y5 Z
  2. //这个类似用来获取访客信息的
    4 M3 g) C  G+ M
  3. //方便统计
    ) r  ]7 K; j1 E6 R
  4. class visitorInfo  b1 Z7 O; F( G4 @
  5. {
    8 r' @7 {8 U3 l% k4 Z/ b5 C
  6. //获取访客ip! X) K8 H' S, Z7 Z# i- _
  7. public function getIp()
    + m! C* r; I$ u( ^: ^  P
  8. {3 [5 l: v* E5 y, w2 Q
  9.   $ip=false;
    % N, b' j. b7 F8 l& M4 K
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){2 w* C, Q% V; ?. r8 v
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];
    2 C- p" C" v8 S% D* L' y
  12.   }
    9 Q" N! R$ e# H7 {
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {# @) ~" E& V( q" E4 L  x. [$ |
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);* e8 |) w( s4 l1 ]) M$ L6 _
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }( f0 I" x+ ~6 x* u  u6 W! X
  16.    for ($i = 0; $i < count($ips); $i++) {2 N* V/ K; K2 r- k1 p
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    + B0 Q  ^& |" D
  18.      $ip = $ips[$i];
    " p. L" j  B/ j
  19.      break;. g! Y8 |; i9 O, @7 S/ o
  20.     }/ ]* A+ g. Z- Q( F9 f
  21.    }: H1 a' a+ {: A5 G% z. V$ I
  22.   }
    8 l2 k* ]  E, L/ s2 B# U- a$ W/ \
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);1 N" H4 f5 B. |- D8 T. ?, O
  24. }) m; T2 d6 x* T' i1 [; E1 \# r

  25. ( ]$ A8 j6 X. p" }* N6 r
  26. //根据ip获取城市、网络运营商等信息
    1 X+ c; B( o. ^7 S
  27. public function findCityByIp($ip){
    6 s5 ^- ^- {& T2 S4 P4 j+ |
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
    , C' I% q5 Z  H, o' }8 R( T% g
  29.   return json_decode($data,$assoc=true);
    9 ?. m, R& i8 A
  30. }  _3 s% K8 a  O! K5 M  n3 R$ m$ y
  31. 9 ~" N3 a( C# _' e7 ]' N9 P% j
  32. //获取用户浏览器类型
    / z6 I, t- x; A3 i* g3 ~7 y: y
  33. public function getBrowser(){
    ) W) M9 P4 s( Q
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];; S6 i. M  w' G- n- T
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
    8 t7 z' ?  B: ~4 A3 B% |
  36.    return "ie";. a9 O) Y4 W9 q3 ]# Q* [
  37.   else if(strpos($agent,'Firefox')!==false)
    . x( v7 P3 y( [
  38.    return "firefox";
    " e0 n8 [0 ]; m
  39.   else if(strpos($agent,'Chrome')!==false)
    , B* I# |; w6 ~( j4 z- y
  40.    return "chrome";
    ; F. j+ E  ]/ S1 A0 f( C2 O
  41.   else if(strpos($agent,'Opera')!==false)2 T( K. j5 b6 a+ P! O
  42.    return 'opera';& X6 R4 [% o# m3 a
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
    : o+ o, g" A7 V& e% b
  44.    return 'safari';
    # S  L! ]7 E, P" V) b
  45.   else
    1 j  c1 N4 W8 {; ~2 J
  46.    return 'unknown';* i0 Z9 x1 m5 e* L" ~9 K/ {
  47. }5 J3 ^1 u% n8 a9 B$ v8 b
  48. ) `5 R, q5 L( D! u
  49. //获取网站来源+ P& a: B1 A1 u9 t
  50. public function getFromPage(){
    + a( U8 O8 @! Z* c9 N
  51.   return $_SERVER['HTTP_REFERER'];) ?- j# L9 R6 W# Q( j2 M
  52. }3 u% v/ M- F' Y! r1 G9 z- u7 x
  53.   [  m: T# a- K# x5 z4 G
  54. }
复制代码

总结

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


8 u2 D; Q7 z* ^& P. j, }* q, s: V
/ M0 ?; }3 U5 e5 C! u5 a5 v8 ^0 Q6 N
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 22:56 , Processed in 0.074276 second(s), 22 queries .

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