发布于:2019-07-17 11:35 阅读次数:1559 作者:云码素材 分类:行业经验 关键词:php源码授权 域名授权
php在web开发领域是最热门的语言,也是开发项目的不二选择,许多PHP开发者说它是当今世界上最好的开发语言,php开发项目效率高,是因为开源项目太多了,不管是国内,还是国外,开源的框架,开源的CMS系统,开源的商城系统太多了,所以php的生态圈很好。如果你想对项目进行开源,那就需要对源码进行一个简单的版权保护,代码可以开源,但是项目的版权,所有权是你的。
域名授权代码可封装进函数,或者进行加密,对于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授权的域名较多,可以在项目中增加域名字段,将域名写入数据库再进行读取和校验,此方法你可以封装成类或插件,下面给大家分享两种代码,大家可以学习一下。
一.独立校验域名授权的方法:
function allow_domain(){ $is_allow=false; //获取不带端口号的域名前缀 $servername=trim($_SERVER['SERVER_NAME']); //授权域名列表 $Array=array("www.yunmasucai.com","www.zzphp.cn"); //遍历数组 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();
二.在线校验域名授权的方法:
/* * 服务端代码 */ //获取域名 $domain = $_GET['domain']; //授权域名列表 $Array = array('www.yunmasucai.com','www.zzphp.cn'); //校验结果 echo in_array($domain, $Array) ? 'yes' : ''; /* * 客户端代码 */ //获取不带端口号的域名前缀 $servername = trim($_SERVER['SERVER_NAME']); //获取服务端授权文件校验 $verifyurl = file_get_contents('http://www.yunmasucai.com/data/upload/copyright.php?domain='.$servername); if(!empty($verifyurl)){ echo "已授权!"; //授权成功 }else{ die("未授权!"); //授权失败 }
这个只要对获取的域名 进行赋值就直接过了判断。所以对于程序员来说这个太容易猜出来了,即使是加密过的PHP。那么怎么处理?有的人有更复杂的授权方式,就是带上各种服务器的信息 还要加个KEY来作为授权码。再经过代码加密,似乎看起来很牛B了,可是如果源码一旦破解沦陷,所有的判断函数不就是 鱼肉么?有的人说 我代码加密了你怎么破解?
还真别说,日前看到淘宝上有这样一个商品叫作:没有不能解密的代码,标价好像是10个大洋起。我去,一个起码万记的代码就这样被10元了,尽管店主文字申明了不能用于商业用途只供学习。于是shopnc采用了核心代码加密,利用URL的路由格式在搜索引擎来搜索出搭建这个站点的未授权域名,然后就给你发律师函了。这也不失为一种方案,所以理由也要有自己在的风格。那么PHP到底有没有这样一款或者一个很哇塞的授权方案呢?目前也没有什么好的解决方案?给大家提供个代码思路。
function authorization($seed = '') { $encode = $_SERVER['SERVER_SOFTWARE'] . $_SERVER['SERVER_NAME'] . $_SERVER['DOCUMENT_ROOT'] . $_SERVER['SERVER_ADMIN'] . $_SERVER['SERVER_ADDR'] . PHP_VERSION . PHP_OS . __FILE__; return md5 ($encode); } $authorization_key = 'www.yunmasucai.com'; echo authorization($authorization_key);//这里是生成字符串验证 $authorization_check = array('dd670852938815f3892d3c511cc8fceb','ddc976cc02bce5c3c22c4d7d201c0cae' );//授权字串,把生成的字符验证复制到这里来 if (!in_array(authorization ($authorization_key), $authorization_check)) { die('对不起,你的程序未经过小一授权!!'); }
其实还有很多的思路,大家可以分享讨论一下,我只是总结了一部分,比如C 扩展加密,zendloader 加密等,不过那种方法,只要是能解决用户的需求就是好代码。
欢迎关注云码素材,交流分享! 云码素材原创作品,更多精品资源下载,技术分享请关注,私信云码素材!
我要加群:资源共享的时代,不要再单打独斗!加小编微信号加入群:xnynews(备注:云码素材入群),qq群号:202498279,一起技术学习,资源分享!
免责声明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
热门标签
推荐模板
Light Year Admin后台模板 v4 iframe版本 基于Bootstrap 4.4.1
2024-10-20 22:57 浏览:23
html清爽ui设计作品集展示网站模板 响应式宣传网页制作代码模板
2024-09-23 10:12 浏览:237
热门文章
2022-05-10 08:48 浏览:30990
2Tik Tok 深田咏美抖音视频100+合集资源免费下载【绿色】
2022-10-31 08:42 浏览:29616
2022-03-27 09:29 浏览:15685
2022-09-11 15:02 浏览:12809
2020-04-13 15:31 浏览:11967
6免费使用chatgpt3种方式 chatgpt国内入口无需梯子
2023-04-23 17:52 浏览:10679
2022-09-08 10:28 浏览:9337
8三个开源的php论坛bbs源码 可自建 圈子 帖子社区网站!
2020-09-15 21:34 浏览:9322
2022-04-13 14:31 浏览:9177
2019-08-28 17:28 浏览:8647