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 相关文章推荐
php 应用程序安全防范技术研究
Sep 25 PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
php生成html文件方法总结
Dec 01 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
PHP中list()函数用法实例简析
Jan 08 PHP
php 读取文件夹下所有图片、文件的实例
Oct 17 PHP
TP5框架请求响应参数实例分析
Oct 17 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
Yii框架应用组件用法实例分析
May 15 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数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP可变函数的使用详解
2013/06/14 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
JS实现的合并多个数组去重算法示例
2018/04/11 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
Nodejs在局域网配置https访问的实现方法
2020/10/17 NodeJs
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python程序暂停的正常处理方法
2019/11/07 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
梅西百货澳大利亚:Macy’s Australia
2017/07/26 全球购物
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
探亲假请假条
2014/04/11 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
2014年副班长工作总结
2014/12/10 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python