cncml手绘网
标题: PHP获取来路域名 [打印本页]
作者: admin 时间: 2018-8-19 01:14
标题: PHP获取来路域名
- $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
2 o9 w' r) S3 `1 { - ! \/ i* Q+ ^( _" H. y. z/ b
- $str = str_replace("http://","",$url); //去掉http://
5 \% j( n- ]1 t9 v - $strdomain = explode("/",$str); // 以“/”分开成数组
* K* u& J' B9 s - $domain = $strdomain[0]; //取第一个“/”以前的字符: y i+ g# C: K! G; U
" ~& T4 B6 S4 {9 m0 \+ g- 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:6 f" I, I, g1 G2 [# M, S8 Y& A2 x
- $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码- echo $_SERVER['HTTP_REFERER'];6 X. o. \0 M* R! y3 z l
- 这个获取上个页面的url
8 @) s4 S3 n& ]7 C9 O - 例如获得的是 $url = http://www.weisuyun.com/nihao.html
+ l8 Q9 o7 ^$ Z8 f% t - 其他页面提交过来的不接受
9 l( j3 {: ^( d2 V4 \. G - if(strpos($url,'http://www.weisuyun.com')){1 c( [! E1 G2 ^' X
- echo '来源正确';
" P5 G! m5 d/ [! A( V
+ z. B, ~- a$ [8 P) Y8 [- }else{
6 `8 O! Z% d5 W - echo '来源不明';/ B( [8 `5 T6 x( r* S5 o( Z$ Q
- }& I' u! s1 ~( z( r( J3 u0 \
- strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码 1 v- d6 U$ y# Y+ Z+ W" D' H
3 j' _5 ~6 ]; F5 M
% n4 C* l8 P' L9 b. O9 B" n7 s
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息& L& U$ t, Y/ A3 [) v3 u$ z3 c
5 H: Q) R. w% t$ x% L5 m
6 ]' }1 T" p- e# ]! u( j) H c- @前言
本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
不多说了,每个方法都注释了,可以直接用:
示例代码
- <?php
$ W7 V2 o" u: {1 {5 J - //这个类似用来获取访客信息的9 B9 J" |- w! A. E9 v0 c7 {+ l
- //方便统计
% o2 c/ n5 ?1 P: l. ] F$ a - class visitorInfo
* N# k1 w' p8 G% F" S - {
1 b$ g$ x2 u0 {( x - //获取访客ip$ p' ^+ V. b8 h/ u
- public function getIp()1 j) ^5 h$ d& b+ K
- {) I2 I8 d9 j2 V" @! }
- $ip=false;6 | J# V& Y* y- B. k' \
- if(!empty($_SERVER["HTTP_CLIENT_IP"])){% d: b& ~4 x% ~4 r) e
- $ip = $_SERVER["HTTP_CLIENT_IP"];
0 h% x/ ~( z7 d) V1 a! K - }
' s& M! q1 K# d% _: p- m - if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {% w% u% O' J- q* ?
- $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
. V4 F' ^: c! G X" d3 T2 t/ ` - if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
" d! U) f. {, z - for ($i = 0; $i < count($ips); $i++) {
0 @/ _: M, {/ {- ~3 \6 G - if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {- ?/ V8 m5 d$ q, X$ D" p9 q
- $ip = $ips[$i];3 s2 Y: H7 v. v! P
- break;- H+ \. e8 s, w" L3 F) r* t, i
- }1 _3 W; p6 G7 y9 k# G
- }
4 y+ O# x& \8 y+ U5 g - }! Y" t0 r- v9 k j- I0 Y
- return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
; O$ K. Q2 g0 Z/ z" }% F4 k( W9 ~ - }9 o1 Z3 Y7 X0 g. h9 }0 k
-
( g: M. w9 S' p. H3 Q3 Z - //根据ip获取城市、网络运营商等信息
. C3 e# t' e/ F6 n @ - public function findCityByIp($ip){ F/ J7 y L- m t' n, ~
- $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
7 O6 L+ ?2 L8 {* z" \ - return json_decode($data,$assoc=true);
0 u+ Z8 u$ _: K# H) m - }
. `8 E! E a: l) S$ @9 M! k, ? -
* l7 {% ?1 Y1 S2 p6 R* y8 S - //获取用户浏览器类型: v9 y* f: _- ?% Y( H+ `9 o* o
- public function getBrowser(){
7 b. w6 Z0 u3 y2 ~" T3 R - $agent=$_SERVER["HTTP_USER_AGENT"];% p/ f7 j" ]/ Z( v' J
- if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
4 H: z3 ~5 d1 I! y7 i2 S - return "ie";- [! ]7 w8 L' l* x0 G* E: M5 j
- else if(strpos($agent,'Firefox')!==false)
" F3 k9 \: ^7 ~ - return "firefox";
0 X7 ~$ Z& ?# E+ ~2 x% y! q - else if(strpos($agent,'Chrome')!==false)0 g R$ j" ^! |3 N: n+ Q$ W
- return "chrome";9 s9 Y, T |8 W6 a# q: ?: {
- else if(strpos($agent,'Opera')!==false)
/ b7 y8 d$ t# B3 | - return 'opera';" K1 h$ E7 K' {4 E; X: b
- else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
, f+ n" ]) `7 V/ T6 D - return 'safari';
( c4 c/ R5 h" ^; v - else
+ G8 S6 t0 P4 X- \ I# a# x - return 'unknown';9 j5 |" d4 g$ k
- }
5 E; C, m8 y) L/ U3 a - 9 i0 _2 A/ i. C; ~/ U/ u1 @
- //获取网站来源7 N: T' W. t# q0 w/ w( U3 E
- public function getFromPage(){
4 R! G" e7 h; d8 c2 u A) ` - return $_SERVER['HTTP_REFERER'];
3 G) N7 z% t% ?( [! V - }
0 r" P3 Z! c5 x5 f -
% X" Z1 w$ r8 m3 h* z% E( v - }
复制代码总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
0 n' z) p( f& C4 e) |
* q: Q* ]; Z( O5 i& ?! m1 c4 U
欢迎光临 cncml手绘网 (http://cncml.com/) |
Powered by Discuz! X3.2 |