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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-8-19 01:14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL5 A: I; _2 O3 X/ U4 k: J# ?

  2. / s8 P( h0 K9 I" x1 w
  3. $str = str_replace("http://","",$url); //去掉http://
    5 Q$ u, v7 k8 _/ x; P3 D. P, y9 }- v
  4. $strdomain = explode("/",$str); // 以“/”分开成数组
    & [/ a% q  U1 K5 J
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符9 z$ P9 V% C& I9 E' M2 q: {2 ]

  6. ) z5 k6 [) J' f/ c- L. z% t/ ]
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
    2 k8 s4 j+ B% b4 K3 ~. {) F
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];
    # @1 k+ `; _, U, U2 U: c
  2. 这个获取上个页面的url
    " p; D0 B+ ?$ l/ j3 T! H
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html
    ' |- x& L6 ~7 N# `7 b) K" S
  4. 其他页面提交过来的不接受
    " \& U  _4 Q6 e1 D0 Q
  5. if(strpos($url,'http://www.weisuyun.com')){
    $ {) D+ d& E* G' U0 Q& Y# k" e
  6. echo '来源正确';
    - d7 E2 `& T/ x

  7. # _/ P3 D  o+ U" a! d. X4 v
  8. }else{
    . B" L9 d4 N1 t
  9. echo '来源不明';1 k" n1 H' X1 }% g
  10. }. m( t- V( |+ H. J+ h8 ^# e9 R
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码
6 V: T6 U: e/ p! n  {8 |

) @* [2 L* c6 w0 y' ?5 ]% W
. y: b% f7 V1 M5 u利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
# ^' @0 c, h3 F1 F  U* f7 [- A, u4 E+ Y0 _9 A  \

) c) {' ~4 x9 S6 a5 S; b- K$ g

前言

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

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

示例代码

  1. <?php
    7 x7 a& X9 T$ c4 g% W8 v
  2. //这个类似用来获取访客信息的0 R$ A, c5 I; `. r5 {
  3. //方便统计1 c7 v% E3 n5 \7 v3 L3 r6 W
  4. class visitorInfo) H" w, P% d6 A( l3 m
  5. {
    : g$ w2 w+ V! j3 k
  6. //获取访客ip
    . Y2 I: p9 R' y* o
  7. public function getIp()' R8 r& N  Z$ M8 K
  8. {
    ' ]4 M# P2 q. y- ]7 B4 |5 O$ {) Q7 s
  9.   $ip=false;- r0 e6 _% f; j/ W# G
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){3 e* Z3 f# [  {  v* J0 P2 o* r
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];' v4 z5 {4 T0 S5 M
  12.   }
    7 G7 P# B8 d. C( X$ k+ b
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    5 h  Z1 H2 J4 j, h5 B8 k% x
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);, m4 G; m0 D3 I5 A
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    9 ~7 ?5 O+ T2 u* c5 P; j5 {
  16.    for ($i = 0; $i < count($ips); $i++) {" {1 a, c1 f4 ]
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    ; |5 E  h- p8 x" m! E
  18.      $ip = $ips[$i];8 n  R* Y- u: s8 P
  19.      break;! P% F1 j* x- x; j" A: ?
  20.     }
    + h  i7 q0 o9 ]) x9 e& c0 X6 P$ Y" i
  21.    }! B( O8 ?2 u! P; C$ U/ H
  22.   }- u' Y; m9 R7 Q
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    1 ^" m. ?# K) t: n- y
  24. }
    , U( `, O4 g1 ~, K9 I

  25. + O; r, h" l4 p8 l! y" A) s' g5 J
  26. //根据ip获取城市、网络运营商等信息
    0 x7 Q* {+ j2 }
  27. public function findCityByIp($ip){
    " H6 T1 ]% q5 V& G
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);0 ~& e9 Z5 H3 l4 Q" Z3 z3 l
  29.   return json_decode($data,$assoc=true);1 {9 Y9 i/ J6 l* g1 n6 R. Q5 V3 U
  30. }8 z9 I3 D  z; Z) v
  31. 3 E) B* W" f  g+ t- d4 u  l; A
  32. //获取用户浏览器类型
    . E0 a. n) a& ?+ V. A. v
  33. public function getBrowser(){5 @& E+ P1 `$ l1 g  d- z) n
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    # v1 |5 g3 u# w0 `; o* }
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
    - ~8 T5 Y+ E, R4 }: R0 i
  36.    return "ie";
    7 P5 {7 `& h" b3 ~- [! e
  37.   else if(strpos($agent,'Firefox')!==false)0 ~! w) g, b) C$ t6 G
  38.    return "firefox";
    - P; X: N' W( o0 T; K5 i
  39.   else if(strpos($agent,'Chrome')!==false)
    # U6 J. J' P8 j0 n) B4 y, a: d, z
  40.    return "chrome";
    2 l7 [& l$ K6 @; U$ O
  41.   else if(strpos($agent,'Opera')!==false)3 b  F& l# t0 c7 O  z" B7 ^( O
  42.    return 'opera';
    + l0 v/ y) A% m
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)( k4 v% ^* U; x, b, a
  44.    return 'safari';! _7 \1 L" C3 f! |- V
  45.   else; X' T. z8 A3 @' u5 f
  46.    return 'unknown';
    5 d9 p* s' a/ {$ ^* q, z
  47. }6 T* U6 f, h+ w+ g9 }  {. D
  48. / O3 i, P2 _* E  `+ O6 P
  49. //获取网站来源
    4 e1 J- [9 ^. \) B  i
  50. public function getFromPage(){: x  d/ D3 n; [0 C/ l4 X
  51.   return $_SERVER['HTTP_REFERER'];8 a3 K+ E- ~' d0 O6 _* q3 E
  52. }
    : K6 M' V9 J; p! c+ L$ Q: U
  53. 8 u' t0 o4 O3 k, c- y/ M" Z  R- z) ^
  54. }
复制代码

总结

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


1 x4 ^5 i# @" E; l8 S
  B! `" d- p' j
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-20 17:32 , Processed in 0.054290 second(s), 19 queries .

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