PHP获取来路域名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP获取来路域名相关的知识,希望对你有一定的参考价值。

<?php
$url = " http://127.0.0.1/license/rank.php";
$contents = file_get_contents($url);
echo $contents;
?>

rank.php怎么知道是来自哪个域名的文件在读取内容啊

$url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL

$str = str_replace("http://","",$url); //去掉http://
$strdomain = explode("/",$str); // 以“/”分开成数组
$domain = $strdomain[0]; //取第一个“/”以前的字符

用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
$_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
参考技术A $_SERVER['REQUEST_URI'] 访问的URL
$_SERVER['SERVER_NAME'] 服务器域名
参考技术B $_SERVER['REQUEST_URI'];
$_SERVER['PHP_SELF'].'?'.$_SERVER['argv'][0]
$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']
参考技术C $url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
请问这个要加一个什么参数同时获取https 和http 完整的URL?

PHP获取来路域名 关键字

function keywords($url){

           $spier=array(‘baidu.‘=>‘百度‘,‘google.‘=>‘谷歌‘,‘soso.‘=> ‘搜搜‘,‘sogou.‘=>‘搜狗‘,‘www.haosou.com‘=>‘360‘);

        $q=array(‘百度‘=>‘/wd=([^&]*)/i‘,‘谷歌‘=>‘/q=([^&]*)/i ‘,‘360‘=>‘/q=(.*)/i‘,‘搜狗‘=>‘/query=([^&]*)/i‘,‘搜搜‘=>‘/w=([^&]*)/i‘);
            foreach($spier as $k=>$v){

                if(strpos($url,$k)){
                    preg_match("{$q[$v]}",$url,$b);
                    if($v==‘搜搜‘||$v==‘搜狗‘){
                        $keywords=iconv(‘GBK‘,‘UTF-8‘,urldecode($b[1]));
                    }else{

                        $keywords=urldecode($b[1]);
                       
                    }
                     
                    echo "<br>来自{$v}的关键字:".$keywords.‘<br>‘;
                }
            }  
    }

 

 

调用方法:echo $this->keywords($_SERVER[‘HTTP_REFERER‘]);//$_SERVER[‘HTTP_REFERER‘]获取上一级的url





















以上是关于PHP获取来路域名的主要内容,如果未能解决你的问题,请参考以下文章

PHP获取来路域名 关键字

用html或配合JS获取来路域名怎么写

这段JS代码怎么修改才能获取来路域名

PHP怎么获取来源域名

wdcp后台访问安全设置即限制域名/IP访问设置及清除方法

php 怎么允许某些域名访问和获取访问的域名