cncml手绘网
标题: PHP获取来路域名 [打印本页]
作者: admin 时间: 2018-8-19 01:14
标题: PHP获取来路域名
- $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL$ [: ~5 ? f J/ G; `+ U4 ?
- 8 q0 G! n o- n- e
- $str = str_replace("http://","",$url); //去掉http://; c5 l, K0 }: j" Q i$ E" p3 P# g
- $strdomain = explode("/",$str); // 以“/”分开成数组! I, ]9 N7 {' K8 K( U
- $domain = $strdomain[0]; //取第一个“/”以前的字符. r7 w5 o( t: l1 {) A
- ) x9 Y5 A- P9 m1 M8 T3 l
- 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:7 J1 x" ?" `' P7 g
- $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码- echo $_SERVER['HTTP_REFERER'];* @+ O5 M( U2 @+ M" c
- 这个获取上个页面的url
+ J+ v1 B5 h. s: l - 例如获得的是 $url = http://www.weisuyun.com/nihao.html0 g8 o! @4 X' ?( d8 k) f
- 其他页面提交过来的不接受! E' f E6 J4 @9 e; l8 [: b
- if(strpos($url,'http://www.weisuyun.com')){. ~- ^ d# f6 }) |) {, `9 d
- echo '来源正确';
+ c" W9 Z# Q8 |) [& r
7 P' S+ y! A$ H+ M* F- q+ N0 t- }else{
0 {7 f) K: O( }: G' O, V6 p' O - echo '来源不明';
5 U1 D7 ?; R. u6 G! ?1 c% _3 L& n - }
. q2 \ @9 ?) F' K' T0 Q# B - strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码
6 S: p& Q$ {- j" |2 O" C
. j* a0 C t: b6 b1 X
1 [5 U I1 [. \0 @" e( E) d
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
/ S" N X, n1 Z/ z; @2 l- n2 {" ~4 g3 ]" f* ?# {, k1 S' X
" p/ n! V5 `4 |0 i前言
本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
不多说了,每个方法都注释了,可以直接用:
示例代码
- <?php; S. M; x/ G+ t: s& F5 H
- //这个类似用来获取访客信息的
' H* V: r" B- K: ]% b. k - //方便统计1 S5 g6 z, n7 ~6 i6 j$ I4 \3 L
- class visitorInfo
" R) A7 M, T9 s7 R - {
$ V! L4 R; h' W6 o0 [; P& P; _ - //获取访客ip) F5 k' |: a- c0 f
- public function getIp()" E6 ^$ D: ?' f% L8 b' I
- {
; ~! {7 L: E/ ^9 u7 p - $ip=false;3 n! u: B* F( A1 J+ o' @9 Y
- if(!empty($_SERVER["HTTP_CLIENT_IP"])){2 P/ A: Q1 y$ n4 A) A
- $ip = $_SERVER["HTTP_CLIENT_IP"];
# `- A2 z: G, f% n2 ^ - }1 \) l3 t" M) C# e8 z% E0 [
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {8 o/ ]3 b; D# C! ?; A! }0 Z( b' F
- $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
2 ~. ~; S# m6 F% n" M - if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
9 U0 Q' Q/ z. ?. t; U - for ($i = 0; $i < count($ips); $i++) {* o. [2 {: B! _6 W2 i) ^, B3 p
- if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
3 t2 e5 Y# }2 I0 O9 f4 e, D/ @' E - $ip = $ips[$i];3 T9 K k( F" u+ M9 \% ^& u! m
- break;8 H. x' ? l% x& d0 e. F* z8 ]
- }; _. m- L" }! X- r' I
- }
1 e( r0 k; F- O: y. q - }
5 j, a+ |6 F% S- p6 P8 M: ^/ O - return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);! ] b7 q3 l6 s' N7 }- j
- }3 p& F% s* o& [8 w$ E
- : N; a) _# W$ f3 E2 x! p) W# Z( E
- //根据ip获取城市、网络运营商等信息# v3 u. h" l* j# ~2 x- ?; v
- public function findCityByIp($ip){
4 B9 ?# R& k6 E0 ?7 A+ N- R - $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
. ^' I( u% s) P) r) g - return json_decode($data,$assoc=true);& ~" J0 Z$ A$ W" q
- }
, ^, g5 A7 o+ j+ a/ H+ c' J -
7 I+ ]. X0 _) \ - //获取用户浏览器类型) o. ~5 e) J% b/ Z; s
- public function getBrowser(){( R. ?# e9 P0 k% p
- $agent=$_SERVER["HTTP_USER_AGENT"];
4 L; e. U/ j( v5 V u - if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断/ @: B3 T4 L' g4 h/ i! P% {8 ?
- return "ie";* g3 o6 m, t- l% Y' ]
- else if(strpos($agent,'Firefox')!==false)0 t/ z! W( `5 u6 I+ o
- return "firefox";
7 U; x! @. b5 H1 y, G - else if(strpos($agent,'Chrome')!==false)
% ?' |7 Z$ E, ]$ m/ z6 h - return "chrome";
2 k* U. ~' ?& R+ \/ [* J" Q8 X" B - else if(strpos($agent,'Opera')!==false)
$ W8 L% l( n: i8 c - return 'opera';
( S( j* Z3 F* m8 e& O P: Q7 ^ - else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
' E* n6 W6 q! v% S2 t" b - return 'safari';0 f: J" H) R8 r% k, B9 L
- else; ]4 I3 C/ e4 W1 y; o) W
- return 'unknown';
: N; J/ m- v2 V' p - }1 \4 x4 U& i6 H. ~; l7 G
- - U# V+ B9 `7 b8 W8 R3 c
- //获取网站来源' x/ a+ r) W* r
- public function getFromPage(){
4 u2 s' g' `0 \9 I# _3 g& R - return $_SERVER['HTTP_REFERER'];$ \* j5 ?; b0 o6 X
- }3 Y0 h/ g3 W! O) R
- & a/ P( K2 X8 \+ l7 T
- }
复制代码总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
/ Q5 d. n2 W( i, [# A0 e( R
, d) l- `% q5 I( g! f. O
| 欢迎光临 cncml手绘网 (http://bbs.cncml.com/) |
Powered by Discuz! X3.2 |