cncml手绘网
标题: PHP获取来路域名 [打印本页]
作者: admin 时间: 2018-8-19 01:14
标题: PHP获取来路域名
- $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL8 w" F$ P: H5 U' _! ?7 {! f( Y8 k5 _
6 |/ i" y$ C" O+ u- $str = str_replace("http://","",$url); //去掉http://
# g" I- Z7 \* ]5 K7 b* f - $strdomain = explode("/",$str); // 以“/”分开成数组, ~" X/ L& i( e n
- $domain = $strdomain[0]; //取第一个“/”以前的字符
& Z4 p6 v j8 T" q" }$ v* |3 ^
: r( W9 W8 z2 o D- 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:& B: X7 p c" ^- E
- $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码- echo $_SERVER['HTTP_REFERER'];7 u0 \3 C: X& E) s/ d7 A
- 这个获取上个页面的url
1 N2 o- N0 c2 U. ~! C6 L- a - 例如获得的是 $url = http://www.weisuyun.com/nihao.html
8 J5 R/ [" A$ s' r4 c1 ^ - 其他页面提交过来的不接受* U) ^0 T1 u) T
- if(strpos($url,'http://www.weisuyun.com')){
5 X+ \% R' e* C7 C1 G2 U6 O' C' m - echo '来源正确';
/ l' H i3 i7 ~- H$ u s4 L5 _
2 o. v2 f/ k6 j. a; V- }else{! e5 Z \( s; u! ` |& }: H
- echo '来源不明';
2 L& [6 i N0 n - }/ i& b3 G, k; B! e
- strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码
& I* ^! C. g5 s+ C6 a4 F H
- s1 z* z& Y+ E ]
! ?" A! Q; Z! I利用PHP获取访客IP、地区位置、浏览器及来源页面等信息0 S9 w& P5 s! ^7 L1 c4 w4 h( W
H( R6 A, Q8 }9 R$ b
7 M. {8 g' {+ N/ q2 z! {前言
本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
不多说了,每个方法都注释了,可以直接用:
示例代码
- <?php; Z% j, i/ d7 B6 |( S
- //这个类似用来获取访客信息的9 L g# B7 r, H F$ p
- //方便统计
" x) d' @& @, m4 u8 ~4 N3 R3 y - class visitorInfo
# o% C+ J6 u- W - {( _. u9 N& K, M3 N' E: ~
- //获取访客ip( k+ x- q) T3 v7 ?$ @
- public function getIp()
2 H) m' I! Z4 P; p$ B! J- `, S - {
' E$ Q' N+ e2 ~+ _ - $ip=false;6 f/ ?% ~; Z" c- `
- if(!empty($_SERVER["HTTP_CLIENT_IP"])){! a! D$ B/ K$ d6 Q5 S4 }
- $ip = $_SERVER["HTTP_CLIENT_IP"];' d; C) q4 G5 b
- }! K6 Q/ C4 s' l- z* s: R) ]- f4 G
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
# i) k: Y% C! @+ B; }/ i - $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);/ F1 r. S" i" ~! w3 [" l& b& X
- if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }. j1 [8 A+ S) v/ _, M5 u1 _- @2 I
- for ($i = 0; $i < count($ips); $i++) {
7 v" ]6 @+ ~" h+ ? P1 w - if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
7 O* h" U* D& {' w- q. j - $ip = $ips[$i];
* A5 e- Q. W9 ]% M - break;, r* d! G% G/ F+ s; k( u- b
- }
/ R! v, m/ s2 G' K a2 z( R& [+ f; c - }
; t- x, L' F, W* s- ? - }* e5 p8 d% }& f( h1 G
- return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
# D5 C, `1 X1 o - }4 H B/ k0 m6 i" @% B) O. i- Z' \0 h
- / T) k: f3 w# ^4 N$ Y; I
- //根据ip获取城市、网络运营商等信息; Y4 _5 M. f R- O, U" O
- public function findCityByIp($ip){. Y( h! t g- ~: N2 v
- $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
( ~' \+ ]- }5 L - return json_decode($data,$assoc=true);
# v6 ?/ t* `/ ]" y3 J7 F/ ] - }% n; A2 U% E" V1 m3 l# q
-
& D+ {6 C% S6 O4 c! y# S - //获取用户浏览器类型4 M- R# a, U7 g6 ~
- public function getBrowser(){8 ]; h q7 z0 ]1 r3 }) L- m- Y! P. J
- $agent=$_SERVER["HTTP_USER_AGENT"];! u5 G% v+ q- I7 B
- if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断7 F/ w0 ]7 [% ^9 \) v6 F* d3 n
- return "ie";
; T( X: T' N4 L: J6 o. P/ q1 e - else if(strpos($agent,'Firefox')!==false)& k8 E0 r. z1 K( U! b/ y
- return "firefox";
7 m7 a6 b8 M% {. ` - else if(strpos($agent,'Chrome')!==false)4 u- `6 o& n4 V& y" c( i2 L' ?, c1 `
- return "chrome";
2 ]: T! _& L7 w w - else if(strpos($agent,'Opera')!==false); Y4 p$ \/ ^8 p4 Z
- return 'opera';
6 v' ?/ T/ q' C; h - else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false): r- y9 f2 ]5 X& P8 ?
- return 'safari';
" r# {! p, s" s7 R% P: Z: ~ - else# U# e: l" D/ v7 m; x6 ^) u( P% w
- return 'unknown';+ ]% u5 ^ \- C+ o6 O
- }0 N) B9 C4 j- _+ K. ?
-
% P$ O. U# ?( e& a8 } - //获取网站来源
) O2 ]! w H/ r3 V - public function getFromPage(){ H* I; |+ r/ c* M
- return $_SERVER['HTTP_REFERER'];; ~% \% a, Y- [+ Y
- }
. W, D9 f6 R3 b7 N% Y- ? - + s, b3 A5 H! K' D* G- Q
- }
复制代码总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
- I1 A- `$ K/ D
5 M# s4 `1 v: u* ]4 ~
| 欢迎光临 cncml手绘网 (http://www.cncml.com/) |
Powered by Discuz! X3.2 |