cncml手绘网
标题: PHP获取来路域名 [打印本页]
作者: admin 时间: 2018-8-19 01:14
标题: PHP获取来路域名
- $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL' T/ P5 H) u+ e( j# C; e
- 2 O; N+ Z0 S ?' X6 c* }! J" t
- $str = str_replace("http://","",$url); //去掉http://
& K, P: O" j( d' q1 J - $strdomain = explode("/",$str); // 以“/”分开成数组7 m- P8 b9 r5 l: o. s1 h
- $domain = $strdomain[0]; //取第一个“/”以前的字符
8 g' ^7 L8 }/ l* Q/ U0 R - 3 ]; z5 j/ `6 R
- 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
3 {4 o ^- B+ M) L: y - $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码- echo $_SERVER['HTTP_REFERER'];
4 d. g. }8 q O# Y7 q - 这个获取上个页面的url) j' L' I4 T7 P. q4 g6 _6 q/ v
- 例如获得的是 $url = http://www.weisuyun.com/nihao.html! V% `& X9 ^- R; x! g# x9 p/ N
- 其他页面提交过来的不接受
2 n: J" j" b; t t" y- F - if(strpos($url,'http://www.weisuyun.com')){
8 L4 ?( U& P$ |) o( ~ - echo '来源正确';) Y: j" V# U9 w0 E) r
, @- Q6 y2 n4 ~: Z5 V+ U& z- }else{8 D+ Q0 V/ j; Z) m% A: l' K9 j
- echo '来源不明';
6 G0 G- _) |/ }/ v - }
7 K: w- o3 g) a% g* a8 y - strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码
4 ?' q$ J. G5 ^3 u+ q
+ P- ]) l) s' I3 q
/ x' d' a7 o5 T' x' c3 k利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
) V8 g4 R7 m2 i& J
, [+ ^0 ~! q0 E |( V$ v
+ j# U$ H/ G- q& \3 o, g前言
本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
不多说了,每个方法都注释了,可以直接用:
示例代码
- <?php
5 p+ L$ w. O2 `7 } - //这个类似用来获取访客信息的! h+ i) R. r" D3 b' S( W
- //方便统计
( ?4 S4 Q6 _8 r - class visitorInfo; @5 v4 x* T& T& R" f
- {! R! T! u+ T1 y) I2 H- Y" L
- //获取访客ip+ x1 m5 V6 l0 D, F6 n: D
- public function getIp()2 ]$ m$ t6 y4 Q4 V
- {
( e$ {; F9 V9 r: T6 g5 y. s - $ip=false;: P% _' ]- C1 p
- if(!empty($_SERVER["HTTP_CLIENT_IP"])){
/ y7 s J& o9 V7 y( k m- N - $ip = $_SERVER["HTTP_CLIENT_IP"];; i. ?( c* q* u9 \8 H! ^
- }$ P' s6 a0 N; q1 L i
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {, `9 f) y% F, y; ?$ z& E t
- $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
) w% c6 j1 h, B# S& [- { - if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }" r J x+ G: b; _" q* V! `
- for ($i = 0; $i < count($ips); $i++) {
4 M; U( N8 O( P' ^+ s2 q - if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
0 g' D& \4 B6 ~! R! i - $ip = $ips[$i];8 f$ B; J$ }8 E7 v% _
- break;9 d2 }% C; D4 R% }& b1 U. ? a
- }) y" H# o1 x# Z) n
- }0 b9 r2 N# [- [+ n f2 T d0 P4 g
- }3 E7 m2 D) d. W
- return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);0 c, E3 e0 O- y3 M* W7 H5 _! ^
- }8 F+ Y4 X+ d% q* I; Y; L; F
- - a, R3 i' x+ O# ?3 g! {
- //根据ip获取城市、网络运营商等信息0 A6 f# E j8 f0 L I% ^# j1 g
- public function findCityByIp($ip){- f" X9 m8 s' V7 L
- $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
5 ?9 o6 [; {/ u" x - return json_decode($data,$assoc=true);
( H! m* t) M! a- P, G5 r - }
0 }" @9 t, r8 p2 G- V - 7 {" S+ P1 }" X; |% m$ U$ e/ u5 }3 n' {
- //获取用户浏览器类型
1 W8 M& q. `- h - public function getBrowser(){: F; Z* H/ a# p$ p- M
- $agent=$_SERVER["HTTP_USER_AGENT"];8 M1 f5 ]+ _9 P$ A5 @( W1 Z
- if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断 p4 l3 e7 u# e+ a/ }. y( F+ e
- return "ie";8 f3 Z0 Q' }& h2 i- b. b: e
- else if(strpos($agent,'Firefox')!==false)
( u1 C: b9 E, I( B+ X% m - return "firefox";
( o$ e* u" G" U. Z' x' }9 G" o - else if(strpos($agent,'Chrome')!==false)
* V7 V; D3 E3 R* |- |3 g+ I; Q" C - return "chrome";
. c3 v3 ?. J. T* ] D - else if(strpos($agent,'Opera')!==false)- s9 H/ k3 E _0 O1 X S9 \
- return 'opera';* K" g+ Q* s& X' X; R
- else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)5 P9 N$ O5 [( q$ |0 \# {
- return 'safari';
+ U* |3 Y1 q1 K0 E - else
! M. q8 g$ z% Q+ G. X5 A5 j - return 'unknown';9 P! u) Z( h$ k7 I5 @& n
- }
1 A$ n1 ]7 J3 m& A - & u% g( e( m1 ]3 ` ^
- //获取网站来源: `4 ]; L z( } i' A. y3 K9 C E2 `
- public function getFromPage(){/ i0 o$ u: J+ }1 Z) O
- return $_SERVER['HTTP_REFERER'];
9 J, R) y, H, G: Q3 c, I/ ? - }/ j3 @ V, Z& X- u$ P1 ~2 ?! r O$ H0 z- d
- 9 t ^* R$ [" ]
- }
复制代码总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
7 z5 z# x, f! J- ^6 d" e8 p
" g; r @! [1 K4 E5 E3 [4 k0 j2 I
| 欢迎光临 cncml手绘网 (http://bbs.cncml.com/) |
Powered by Discuz! X3.2 |