cncml手绘网
标题: PHP获取来路域名 [打印本页]
作者: admin 时间: 2018-8-19 01:14
标题: PHP获取来路域名
- $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
- p2 o' v8 s: o5 ]
) M1 Z& o* b; J, W- ^- $str = str_replace("http://","",$url); //去掉http://: i1 ^( t* A; U
- $strdomain = explode("/",$str); // 以“/”分开成数组5 r6 Q* W- A7 z2 E+ e
- $domain = $strdomain[0]; //取第一个“/”以前的字符
. ?4 }" ~$ v8 R& i
4 l. b$ `" _8 a; b! t3 U8 E6 f- 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:1 r5 l v8 u2 ?0 h% J. C
- $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码- echo $_SERVER['HTTP_REFERER'];3 [% b0 y6 s' d: R6 V
- 这个获取上个页面的url- e' N/ q# x6 z4 \% T* [
- 例如获得的是 $url = http://www.weisuyun.com/nihao.html
2 M9 L) K2 Z/ G- F. n - 其他页面提交过来的不接受
$ n0 u9 \4 z/ \5 Y( D - if(strpos($url,'http://www.weisuyun.com')){
# `1 `9 p2 ?# m& s1 z# v) s - echo '来源正确';
* Y9 ^( H/ m6 C; \, \
4 X8 @. C' q" ?9 X8 L: D- }else{% O4 z, k r6 L! X; H
- echo '来源不明';
* a3 y: @& x' r% O - }$ J/ ~" i& E8 E: S4 T+ m# [
- strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码
: {3 x1 a9 y3 Z4 c( X
; g6 D9 h: \: ]; N$ ^7 ]" e4 V+ s8 u- s0 m2 |' t
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息, R7 |) N6 L7 R( Z. K& Q1 E/ K: k
+ C3 q5 ~9 j. L) Q
8 V" `. J4 y5 L3 Y/ y( J前言
本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
不多说了,每个方法都注释了,可以直接用:
示例代码
- <?php
$ U: C% B' q7 G( F# }' g- r - //这个类似用来获取访客信息的
7 j3 S: L) v. n* S7 Q. Q - //方便统计$ p; N; W: U8 J" g1 y7 k- |
- class visitorInfo
2 }# c$ e5 b+ O! r3 |* {7 t - {& b" R* L9 V0 o, t6 ^
- //获取访客ip& `6 E6 |- v) }1 e% E6 }
- public function getIp()
0 Z2 M! h8 L8 ^! k: @+ Q0 D - {
1 i4 j1 r0 _9 [7 \7 z+ I' V - $ip=false;. _6 Q! N: E- i& C
- if(!empty($_SERVER["HTTP_CLIENT_IP"])){
2 K2 ?. o& m" F+ a3 p3 F9 ^ - $ip = $_SERVER["HTTP_CLIENT_IP"];: K9 I4 i$ B8 m) ]9 z
- }; ^2 k5 V* `5 j1 ?
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { [+ [8 M: e3 A3 e8 h( P7 W4 n( H
- $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
! D7 V! C3 t3 I, T/ Z - if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
* X9 m7 G/ v, w+ V - for ($i = 0; $i < count($ips); $i++) {0 S: I4 r# J; |1 D# G7 p9 `
- if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {3 G L5 `6 D6 v- H( V1 U! A
- $ip = $ips[$i];, k! G* ]1 ^1 M- U+ M
- break;
3 l- H4 E& g2 {9 A7 m - }
' w6 |6 P6 v6 _% V* @ - }
i' Y8 _! v$ B2 K - }* a, }4 s8 q5 |( m. n
- return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);0 U2 X4 j1 O5 b& ~. f
- }
T3 O+ p0 {" z& B3 o+ G - 4 S, U, @6 Y+ F0 w. P
- //根据ip获取城市、网络运营商等信息
! r) ?) s9 v6 Y2 b' E2 W& ^ - public function findCityByIp($ip){
* {) d# D5 `7 M - $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);. m& m- m0 f' T5 J
- return json_decode($data,$assoc=true);
; A4 |5 l q& L4 d - }. b$ o% u" o5 M! v
- ) y. f! E& V, H) T h
- //获取用户浏览器类型. p) b* i0 p7 B; ~: h$ a4 Z+ s
- public function getBrowser(){
! D$ V, K* f6 B, m; m - $agent=$_SERVER["HTTP_USER_AGENT"];
- A: Q" L B9 w# X* S- o2 P - if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
" |# H% e/ C( m( W# L6 D: M, x, } - return "ie";
, O- Y K/ J9 {: N7 q8 h - else if(strpos($agent,'Firefox')!==false)
* }8 [ k; o" A3 M5 _ - return "firefox";/ H @8 `, @4 {/ e; | Q3 N
- else if(strpos($agent,'Chrome')!==false)7 ]; S+ g+ q1 f, @" T; c
- return "chrome";8 H& l( i3 a( E
- else if(strpos($agent,'Opera')!==false)
% `: K9 l) Y/ T' P# h - return 'opera';
1 T8 K3 _/ e6 u' ` - else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
3 v% q! R1 Y- O& n4 ], A: c& u - return 'safari';3 c1 C8 k, d- w' p: M, {0 [& R
- else1 F2 _! {2 c: |+ L) v- C
- return 'unknown';3 _6 j. P' W. c! K2 ]' A6 k
- }/ I2 Q+ U' G E5 M
- 2 v! P/ u' W' N* ^' ]
- //获取网站来源5 s+ P' B1 k0 r- \& {: c
- public function getFromPage(){
: F& I D5 c* Q$ y6 v - return $_SERVER['HTTP_REFERER'];- k) t' k$ e' H7 H
- }
# u; P4 v/ M) R" |! v$ S% B - ' M* \5 N" X* P5 y4 u
- }
复制代码总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
1 Y, ^, \# K, y4 @4 g7 [& J5 y
欢迎光临 cncml手绘网 (http://www.cncml.com/) |
Powered by Discuz! X3.2 |