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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-8-19 01:14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
    $ D5 N: v2 @7 Z& J2 G. T  E! J- ?
  2. 9 \/ {6 u4 L: y( n* R+ Z6 [, W
  3. $str = str_replace("http://","",$url); //去掉http://* E' D9 s  U3 r& r+ N1 [
  4. $strdomain = explode("/",$str); // 以“/”分开成数组
    # C5 T* Q" H5 q/ ?; m
  5. $domain = $strdomain[0]; //取第一个“/”以前的字符
    $ U* r. A6 J: Y5 C3 m5 Q

  6. ) z& b6 `4 O  l7 S- a
  7. 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:6 K* q7 z7 c" V" a2 m, y- ?" I7 F
  8. $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码
  1. echo $_SERVER['HTTP_REFERER'];
    5 ]- j/ b* P1 E, X& w7 U; y3 ]
  2. 这个获取上个页面的url
    $ _# L, v( C9 o! `
  3. 例如获得的是 $url = http://www.weisuyun.com/nihao.html$ K. \, }# \( A& ^! U! @
  4. 其他页面提交过来的不接受
    ) c! W9 t+ D9 i4 N1 \5 w
  5. if(strpos($url,'http://www.weisuyun.com')){
    * w+ \, q/ x8 n9 B1 w! ~! `4 k
  6. echo '来源正确';
    : ~9 R1 R9 Q7 O) b

  7. 6 @( _. C3 f" K) {/ [) A& J5 t
  8. }else{
    ( M( U5 u& O! `: E) c
  9. echo '来源不明';1 j. H! S$ p8 X5 h) \# y% v# K; s6 P0 X
  10. }. Y  {& A! H" i. x- {  n
  11. strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码

0 N: ?7 @( D, a9 D+ U! R6 N. b! |4 D; u! `

; y' s- ]4 {3 G利用PHP获取访客IP、地区位置、浏览器及来源页面等信息2 e$ Z$ w0 a: j. J, l
# H. D! F6 E& H; N' N

+ Q0 z$ j; O: q7 w, K5 O

前言

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

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

示例代码

  1. <?php* I8 X" n- x# _) C
  2. //这个类似用来获取访客信息的0 i# \: C) d2 [/ L1 r  u
  3. //方便统计
    * Y3 E: V6 ^5 z! T# J
  4. class visitorInfo
    ; Q$ ?- W$ B0 x
  5. {
    ( R5 J$ {9 J8 J; y; M- A' H
  6. //获取访客ip
    * ~7 ^/ r( l; J& k
  7. public function getIp()4 U4 k2 R1 S  C: X. ?: @- t
  8. {) G. F9 f: ]" L8 L
  9.   $ip=false;- _1 I. [: X( e2 ~1 Y+ ^" e( ~8 x
  10.   if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    ) r* X  F: Q& k4 U0 _+ k  v- \
  11.    $ip = $_SERVER["HTTP_CLIENT_IP"];
    ( T% G0 _3 h, a+ I6 ^% V
  12.   }
    1 _: J! ^  y) E2 g9 [: V4 a1 H; e
  13.   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {2 ?7 m$ I, l6 b  |. ]* B; @% X3 ?- a7 U
  14.    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    , k) B) O+ E9 X" y& c- X
  15.    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    ( M3 D( |# u9 N7 h+ u9 m
  16.    for ($i = 0; $i < count($ips); $i++) {
    , g! j- N; @4 ~1 ]' U# ?
  17.     if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    $ t4 U. s- e0 r  W8 w  j) T
  18.      $ip = $ips[$i];# {, ]( @; q( Z8 b- W6 W6 n
  19.      break;3 O4 L  n8 Y& Y
  20.     }
    ' h( p4 b, w5 |7 o7 y( D
  21.    }4 v+ f  o1 U# g
  22.   }
    1 X7 ~8 Y# @9 H+ X2 o5 z
  23.   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);6 F" D" G8 C* k1 |  i1 q
  24. }6 s1 c' X/ u. f. J& E) I9 ?
  25. ; A2 P& a, U# h1 t
  26. //根据ip获取城市、网络运营商等信息
    : l& l. P2 n( m# D
  27. public function findCityByIp($ip){
    $ I; [  ?" E2 l7 B7 U" q9 r+ a
  28.   $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);" |% s  A- s5 l- }: ]
  29.   return json_decode($data,$assoc=true);8 H- s2 J5 n: A
  30. }
    7 H% T# O% `9 ]  J8 n' |

  31. ! m  D6 ^9 Z' a  M$ @2 r' |% f' @% ^
  32. //获取用户浏览器类型4 T5 U, j0 A) |$ b4 o
  33. public function getBrowser(){
    ! {) [, o) x1 [8 g& w" A, W8 a4 A; _
  34.   $agent=$_SERVER["HTTP_USER_AGENT"];
    $ @# M- e* w& ~, ^: v7 o% J
  35.   if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断  j6 I, x9 q4 y$ i- S
  36.    return "ie";: _! m* |8 x7 J* v  D' c
  37.   else if(strpos($agent,'Firefox')!==false)
    ( x5 r" R( X+ a6 X9 X$ o- ?
  38.    return "firefox";
    - i* `/ j3 y, h' B# l
  39.   else if(strpos($agent,'Chrome')!==false)7 q) e( N" N/ U' j. {' l$ \3 ~
  40.    return "chrome";& k  u/ ~; x# }  _! l# E6 G
  41.   else if(strpos($agent,'Opera')!==false). s& Y6 m9 {  R* O
  42.    return 'opera';$ g5 [$ w4 q/ F  R' t
  43.   else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false); j5 x7 }, r7 c2 G. d2 p6 J& d
  44.    return 'safari';: m3 V0 E, }0 S7 Y4 k
  45.   else5 N' s2 }7 ?  Z+ o+ d
  46.    return 'unknown';' Z: V0 t) q- `6 k9 ~4 V2 W
  47. }' E7 \; [4 s- [% v. _
  48. " N0 K8 q7 L2 h- {3 g. W& e
  49. //获取网站来源' r$ \! h4 L, P, g- U5 i8 Z
  50. public function getFromPage(){
    / u$ t3 k% {* d5 O) {
  51.   return $_SERVER['HTTP_REFERER'];; }# b: A7 }, Q
  52. }5 M9 ]) c5 k! \5 E. w
  53. 4 a' ?: I, X' i* i8 N* A7 u
  54. }
复制代码

总结

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

. A4 o0 `" C: f$ x7 V
8 k- P8 D, @  y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 02:17 , Processed in 0.099539 second(s), 19 queries .

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