PHP实现限制域名访问的实现代码(本地验证)


Posted in PHP onSeptember 13, 2020

用PHP编写好的源码,如果不想被其它人直接利用怎么办?首先想到的是加密,但现在除了Zend 5加密还比较难破解外,其它的加密方式都不堪一击。即使不破解,不怀好意的人同样可以使用你的源码搭建一个和你一模一样的一个网站。这岂不是使你的劳动成果白白的被别人占为己有。下面介绍一种方法即限制域名的方法来保护你的源代码不被直接拷贝运行。

如何通过程序限制域名从而保护源码呢?比如你所做的网站将来要使用的是3water.com,如果PHP的程序丢失了,即使其它人使用你的PHP源码,如果判断的域名不正确,也无法运行,同时将源码加密起来,这样就万无一失了。

PHP程序限制域名的程序源码如下:

下面就来分享一下实现代码

1、限制域名访问方法一

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

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>仅限本地使用!需要域名授权请联系3water.com");
	}
}
allow_domain();

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

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

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

客户端代码:

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

服务端代码:

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

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

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

<?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();
?>

域名授权的目的在于保护知识产权,鼓励开发者能够发布更多优秀的作品,推动整个网络社会的文化发展与科技进步,有着十分重要的意义。

到此这篇关于PHP实现限制域名访问的实现代码(本地验证)的文章就介绍到这了,更多相关PHP限制域名访问内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
apache和php之间协同工作的配置经验分享
Apr 08 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
PHP防盗链代码实例
Aug 27 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
Apache服务器下防止图片盗链的办法
Jul 06 PHP
PHP简单检测网址是否能够正常打开的方法
Sep 04 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
Sep 13 #PHP
PHP重载基础知识回顾
Sep 10 #PHP
PHP反射基础知识回顾
Sep 10 #PHP
PHP获取类私有属性的3种方法
Sep 10 #PHP
php实现图片压缩处理
Sep 09 #PHP
如何在PHP中读写文件
Sep 07 #PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 #PHP
You might like
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
有关php运算符的知识大全
2011/11/03 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
jQuery+ajax读取并解析XML文件的方法
2016/09/09 Javascript
基于JS递归函数细化认识及实用实例(推荐)
2017/08/07 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
JsChart组件使用详解
2018/03/04 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
React组件对子组件children进行加强的方法
2019/06/23 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
Python日志syslog使用原理详解
2020/02/18 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
个人培训自我鉴定
2014/03/28 职场文书
会议欢迎标语
2014/06/30 职场文书
学习心理学心得体会
2016/01/22 职场文书
排查Tomcat进程假死的问题
2022/05/06 Servers