cncml手绘网
标题: PHP获取来路域名 [打印本页]
作者: admin 时间: 2018-8-19 01:14
标题: PHP获取来路域名
- $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
5 R% A; g" a; q$ ^" U/ n/ | - " Q6 M1 {% F/ D- N* k
- $str = str_replace("http://","",$url); //去掉http://
3 c$ h2 N6 L. X% x, R) A" W - $strdomain = explode("/",$str); // 以“/”分开成数组
% O4 d, }- L, ]6 d0 h - $domain = $strdomain[0]; //取第一个“/”以前的字符
0 A6 e1 C' c+ s - # U0 _ ~$ ?" P0 ]- Z H( p& D
- 用上面的方法才准确无误,如果你用PHP自带的函数就不对如:+ j) }; V1 \4 U
- $_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
复制代码- echo $_SERVER['HTTP_REFERER'];
7 o: ?. |! T j& S" `* ~. M" n - 这个获取上个页面的url
* z3 V: B) Q0 Y - 例如获得的是 $url = http://www.weisuyun.com/nihao.html
" K( R6 Z& P1 Q5 ?3 q/ q$ w - 其他页面提交过来的不接受% B0 T* T @2 L# B; j7 B
- if(strpos($url,'http://www.weisuyun.com')){
Q) F n( ?4 ~4 ~ - echo '来源正确';9 d* Y" Y3 e" c( \$ M4 B
- $ C, ^+ t" K b$ m4 u3 F, u
- }else{) m$ P5 Y! V3 Y2 t
- echo '来源不明'; O$ W' X7 V# b, Y
- }, ^9 }- j) H0 [& x8 F
- strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始
复制代码 9 t; y7 P1 i* n: h8 \* s6 b0 E
( b/ F& y" X3 T
0 Q5 S1 `& D! K" s利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
5 c0 S& X2 o& o- |1 h5 K1 g* y- q& N
& k+ k' @ t% X9 Q z* _, } }, t2 n前言
本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
不多说了,每个方法都注释了,可以直接用:
示例代码
- <?php0 X$ U k) o0 I0 @' D
- //这个类似用来获取访客信息的
" x* M' @5 }$ {3 h - //方便统计
! S- G5 ^3 V6 B, o S - class visitorInfo
: B+ r* }5 X d/ E. E- i - {
\4 m& d, w! O* w* `6 g - //获取访客ip
# n& X0 I9 g" {/ F - public function getIp() [+ P" z, |- I
- {$ y5 b2 h! ?. X) |; r2 q& L+ y
- $ip=false;
) I4 r5 f% A' v0 ?. e8 X' J: h! K - if(!empty($_SERVER["HTTP_CLIENT_IP"])){7 P, c% K" h! `) _3 T) X$ A9 w
- $ip = $_SERVER["HTTP_CLIENT_IP"];
2 v m9 |0 d0 ~; T - }
. P: h+ N" C% Q% r - if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
; p! z7 a8 Z% n5 Y# C9 r% a1 I6 k - $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
( l& `) v+ x) R4 }2 w0 k' n - if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
! E K( ~9 y2 G - for ($i = 0; $i < count($ips); $i++) {4 q: i( E' T9 I/ m T# D8 ]) a
- if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {" F5 D# D/ Q8 T6 A! D4 i
- $ip = $ips[$i];3 E4 W$ a+ G. M0 H, V9 F* z
- break;
7 V# M+ a8 A: J - }. P% j5 R: U: c0 L+ Q
- }+ ~' F% U- @" S! h' S! ?
- }# u8 K" {- K/ R% ?) j. I
- return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);: Z' H, H; R; |5 y4 {2 R& b2 C
- }
2 w2 n1 s7 k* v: u0 w -
; f8 q4 P* J- j/ s% j3 V# L - //根据ip获取城市、网络运营商等信息
$ H+ N1 ]7 h a - public function findCityByIp($ip){
% |6 p, C2 a8 _0 P) U5 w+ s' C - $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
+ I+ \! Y3 D* G& Z# \; I# n - return json_decode($data,$assoc=true);' }/ Z; r1 C& T- ^( T! E1 [
- }
# @! R/ N- [$ V x2 e: S - ) U9 V: J0 S% ], w
- //获取用户浏览器类型
9 z* z) _ A- A4 d$ I9 e M - public function getBrowser(){
# t5 u# L; N7 T2 M - $agent=$_SERVER["HTTP_USER_AGENT"];
' ` w4 U4 |3 D R4 L - if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
! B9 A" z& Q: d/ ^ - return "ie";: s6 R5 i, d2 K
- else if(strpos($agent,'Firefox')!==false)5 `- h/ `4 m' E# N1 M+ H+ F
- return "firefox";
0 X, }& C2 D! Y6 e& T2 f# w/ \4 h9 g - else if(strpos($agent,'Chrome')!==false)
( [ ~: [! W; Q. s; t4 `" }- S# H* R+ U - return "chrome";
+ U9 T$ O- Q+ ~5 \, ~2 S - else if(strpos($agent,'Opera')!==false): j5 Z f! |9 Y/ l4 c* f3 e5 Q2 X
- return 'opera';" {# P+ w/ f0 _' z. R) r$ @
- else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)4 G7 E C$ m" @
- return 'safari';* b' {& g& @" E7 t& a. `
- else3 ?& G% d& E5 w
- return 'unknown';
5 }* }# I6 Z7 j' e8 U7 T7 z- u - }" h* {/ V* k' @ p/ Z
-
0 F$ Y n4 T* ? - //获取网站来源; U) B/ i. \0 k; i# n2 q
- public function getFromPage(){
0 _1 G& l, m# H: v n - return $_SERVER['HTTP_REFERER'];! o$ _4 C: u( p. _* w- \/ L
- }
0 ~. i2 L/ G; k8 t$ N& W - " _6 v# S8 \+ U% P5 U4 O
- }
复制代码总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
) \) Q( `6 ] `! | w4 v* K
$ U5 F, i/ F* K) O. a4 Q
| 欢迎光临 cncml手绘网 (http://www.cncml.com/) |
Powered by Discuz! X3.2 |