利用PHP实现限制域名访问

发布时间:2020-11-03 16:47:54 作者:Leah
来源:亿速云 阅读:253

利用PHP实现限制域名访问?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1、限制域名访问方法一

<&#63;php 
if(!in_array($_SERVER['HTTP_HOST'],array('test.com','www.test.com'))){
	exit('建站请联系:http://www.test.com');
} 
&#63;> 

2、限制域名访问方法二

function allow_domain(){
	$is_allow=false;
	$servername=trim($_SERVER['SERVER_NAME']);
	$Array=array("localhost","127.0.0.1","test.com","test1.com");
	foreach($Array as $value){
		$value=trim($value);
		$domain=explode($value,$servername);
		if(count($domain)>1){
			$is_allow=true;
			break;
		}
	}
	if(!$is_allow){
		die("<center>仅限本地使用!需要域名授权请联系jb51.net");
	}
}
allow_domain();

然后用zend加密,其他加密容易被破解。

PHP实现域名授权的两种方法

01. 在线校验域名授权的方法:

客户端代码:

<&#63;php
//获取不带端口号的域名前缀
$servername = trim($_SERVER['SERVER_NAME']);
//获取服务端授权文件校验
$verifyurl = file_get_contents('//www.jb51.net/zb_users/upload/copyright.php&#63;domain='.$servername);
if(!empty($verifyurl)){
	echo "已授权!"; //授权成功
}else{
	die("未授权!"); //授权失败
}
&#63;>

服务端代码:

<&#63;php
//获取域名
$domain = $_GET['domain'];
//授权域名列表
$Array = array('127.0.0.1','localhost');
//校验结果
echo in_array($domain, $Array) &#63; 'yes' : '';
&#63;>

域名授权代码可封装进函数,或者进行加密,对于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授权的域名较多,可以在项目中增加域名字段,将域名写入数据库再进行读取和校验,此方法我们已发布成独立的插件,详见:ZBlogPHP域名授权插件-AllowURL, 通过插件可以将域名等信息添加到数据库中进行校验。

02. 独立校验域名授权的方法:

<&#63;php
function allow_domain(){
	$is_allow=false;
	//获取不带端口号的域名前缀
	$servername=trim($_SERVER['SERVER_NAME']);
	//授权域名列表
	$Array=array("localhost","127.0.0.1");
	//遍历数组
	foreach($Array as $value){
		$value=trim($value);
		$domain=explode($value,$servername);
		if(count($domain)>1){
			$is_allow=true;
			break;
		}
	}
	if(!$is_allow){
		die("域名未授权!"); //授权失败
	}else{
		echo "域名已授权!"; //授权成功
	}
}
allow_domain();
&#63;>

关于利用PHP实现限制域名访问问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. tomcat限制用域名访问 禁止 ip访问
  2. 怎么实现php会话访问限制

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:Spring使用自定义注解及Aspect实现数据库切换

下一篇:springboot 实现自定义权限标签(tld)在freemarker引用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》