cncml手绘网
标题: PHP获取来路域名 [打印本页]
作者: admin 时间: 2018-8-19 01:14
标题: PHP获取来路域名
- $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL* Q0 |9 i1 V7 S+ I$ X1 M
( j1 ?. E& k1 k1 {6 \8 l- $str = str_replace("http://","",$url); //去掉http://
3 V. v! q3 ^- Q4 ~9 Q - $strdomain = explode("/",$str); // 以“/”分开成数组" Z, {/ N' N8 P
- $domain = $strdomain[0]; //取第一个“/”以前的字符% e4 R" w) {1 C% L3 }
1 f( ?4 ~2 l2 E/ T, `6 t5 X- 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:4 ~* q5 @, X8 Q% S; S
- $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码- echo $_SERVER['HTTP_REFERER'];- ~; u, W3 g9 O6 e$ s
- 这个获取上个页面的url7 f/ A- v( P, Q! ~
- 例如获得的是 $url = http://www.weisuyun.com/nihao.html- N( U2 q4 ?2 }7 a2 V7 q- S
- 其他页面提交过来的不接受2 k" _4 n& W' a
- if(strpos($url,'http://www.weisuyun.com')){
. @0 W, y' B+ s- q1 I1 f* S - echo '来源正确';( A6 A! y2 | t* X) C2 ?
8 [! o! }' D6 D) x6 k; R3 q% w- }else{
, ^2 c& \! L% x5 N6 g' Q2 N. {8 P - echo '来源不明';
# a g. f' F9 s - }
7 {4 p4 R0 ^: n% V - strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码 & b6 m! v/ a7 N U

( H. w3 @2 D: K7 u1 n& ]+ }0 ~4 p- o7 B8 y1 `% L0 K
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息( d6 D6 K0 L4 B3 E4 ^
t" H# f0 j0 Z* ]0 n
2 l' T! ^# ?7 M* c) `/ e) Z
前言
本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
不多说了,每个方法都注释了,可以直接用:
示例代码
- <?php
6 U8 ~8 S2 O( B0 m3 X3 A9 V' V5 o3 t; ^ - //这个类似用来获取访客信息的
0 g3 |( f6 U! l3 M6 v5 P - //方便统计
& ~. {# U8 B9 g$ _ a, U2 ? - class visitorInfo
% C( B N9 y# o' A1 H- H& F! U - {
" b4 J, g% k) l- D- H. n - //获取访客ip+ v$ K! U y9 [ w
- public function getIp()
7 d+ s# z% w) e' a: C - {, l; A, J* _ @% Y9 i5 L
- $ip=false;
" y' R, ~$ I: Z1 l4 `3 h( Y - if(!empty($_SERVER["HTTP_CLIENT_IP"])){
) k) O& W1 U* J6 G6 b$ D- _ - $ip = $_SERVER["HTTP_CLIENT_IP"];
8 b6 s, X% q! ^* @ - }7 M: w/ x. y5 ?$ S! j
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
1 y0 ~, B y, `# t - $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);' i: j( x3 o0 g z7 N7 o5 E
- if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
2 Q2 T+ t& B. a2 P+ J% c - for ($i = 0; $i < count($ips); $i++) {
5 l+ W6 L6 q b, h - if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
# Z# C( K* B1 h - $ip = $ips[$i];
/ v6 T3 A. }* o j* P - break;
a4 w0 `7 w' ~8 l1 m - }
1 L4 J5 Q& Q- m+ F: I; j - }
0 x& P. l9 \: ^8 ?: k - }
/ }9 \, C- C" \! P4 q - return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
& _5 b( i# ?" t0 A2 O; H7 m - }
: B' D( ^: X7 c; S) X4 ? - : P |: {7 f; x* w1 s" D
- //根据ip获取城市、网络运营商等信息
7 ^/ J _8 D4 }& @* ] - public function findCityByIp($ip){
) e! @% K L7 }' T - $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);0 x7 ]. }7 D) m! L! s6 T% Y
- return json_decode($data,$assoc=true);
3 V& P4 w* w$ ~4 D: C - }/ c' g- U! c* t r. M& o5 I
-
; [4 ?; a! @ Z! h) T6 g - //获取用户浏览器类型8 ^9 e+ O! m( O; X
- public function getBrowser(){, D4 O2 [9 V/ J/ h1 B0 V
- $agent=$_SERVER["HTTP_USER_AGENT"];, c$ K, ?7 J) d4 [4 g" u
- if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
8 t' x z1 n. R) }1 ]* M - return "ie";3 N6 n0 p8 c4 J* t' k
- else if(strpos($agent,'Firefox')!==false)6 L o- n) L2 c1 V
- return "firefox";
4 a7 P8 j2 d- a. X+ { - else if(strpos($agent,'Chrome')!==false)
& j3 p- ^: W& H0 E - return "chrome";, e+ C3 k) x$ a3 } G
- else if(strpos($agent,'Opera')!==false)9 G5 E0 I n) X5 ?! o) B
- return 'opera';
) n: P' v( e7 _. d - else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
% f: A' K3 C9 X1 h+ |& o! e( L# z - return 'safari';1 |- b9 Q- Z$ ]2 h; o9 @
- else
' B2 N3 z3 j9 Z: i# I& J" i - return 'unknown';9 l( D$ y$ B8 u3 }
- }/ N$ S3 u1 \) V P
- / P$ }, R* b/ G, u$ j
- //获取网站来源, v" ~' E1 R% L5 Y6 e
- public function getFromPage(){
1 f/ Q" T# l+ X8 w' b; ^) }, T( ] - return $_SERVER['HTTP_REFERER'];# Z3 H9 ]; C$ r+ r% z8 u* u! O
- }
9 w7 A9 j; `3 Z8 p" T. s: V - ; @$ M |6 i. h% Y. E9 @6 v
- }
复制代码总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
- O3 W# f' A+ `+ O8 n0 l: q' m: B- a' P; a
| 欢迎光临 cncml手绘网 (http://www.cncml.com/) |
Powered by Discuz! X3.2 |