php怎么样实现限制域名访问?很多人不想自己的写的代码被其他复制粘贴,那么就可以使用限制域名访问来禁止别人拷贝。下面是PHP是实现域名限制的代码,有这方面需求的朋友可以看看。
用PHP编写好的源码,如果不想被其它人直接利用怎么办?首先想到的是加密,但现在除了Zend 5加密还比较难破解外,其它的加密方式都不堪一击。即使不破解,不怀好意的人同样可以使用你的源码搭建一个和你一模一样的一个网站。这岂不是使你的劳动成果白白的被别人占为己有。下面介绍一种方法即限制域名的方法来保护你的源代码不被直接拷贝运行。
如何通过程序限制域名从而保护源码呢?比如你所做的网站将来要使用的是www.jb51.net,如果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>仅限本地使用!需要域名授权请联系jb51.net"); } } allow_domain();
然后用zend加密,其他加密容易被破解。
01. 在线校验域名授权的方法:
客户端代码:
<?php //获取不带端口号的域名前缀 $servername = trim($_SERVER['SERVER_NAME']); //获取服务端授权文件校验 $verifyurl = file_get_contents('//www.jb51.net/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相关内容大家可以继续关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理