PHP源码加域名授权的方法,PHP实现域名授权的方法【已解决】

PHP源码加域名授权的方法,PHP实现域名授权的方法【已解决】 - 全民博客

PHP如何限制域名访问和域名授权?PHP域名授权的实现方法,怎么在PHP中实现域名授权,怎样给网站源码加授权,怎么给PHP添加授权域名或者授权码,PHP域名授权系统给商业程序加密授权,答案解析尽在小千个人博客网站。

PHP是最热门的语言,很多的开发者都用它来做网站。但是,有的项目,又不想给别人看源码,所以,要对源码进行一个简单的版权保护,代码可以开源,但是项目的版权,所有权是你的。

域名授权代码可封装进函数,或者进行加密,对于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授权的域名较多,可以在项目中增加域名字段,将域名写入数据库再进行读取和校验,此方法你可以封装成类或插件,下面给大家分享三种代码,大家可以学习借鉴一下。

方法一:独立校验域名授权

PHP
  1. function allow_domain(){
  2.     $is_allow=false;
  3.     //获取不带端口号的域名前缀
  4.     $servername=trim($_SERVER['SERVER_NAME']);
  5.     //授权域名列表
  6.     $Array=array("www.nidecms.com","nidecms.com");
  7.     //遍历数组
  8.     foreach($Array as $value){
  9.         $value=trim($value);
  10.         $domain=explode($value,$servername);
  11.         if(count($domain)>1){
  12.             $is_allow=true;
  13.             break;
  14.         }
  15.     }
  16.     if(!$is_allow){
  17.         die("域名未授权!"); //授权失败
  18.     }else{
  19.         echo "域名已授权!"; //授权成功
  20.     }
  21. }
  22. allow_domain();

方法二:在线校验域名授权

PHP
  1. /*
  2.  * 服务端代码
  3.  */
  4. //获取域名
  5. $domain = $_GET['domain'];
  6. //授权域名列表
  7. $Array = array('www.nidecms.com','nidecms.com');
  8. //校验结果
  9. echo in_array($domain, $Array) ? 'yes' : '';
  10.  
  11. /*
  12.  * 客户端代码
  13.  */
  14. //获取不带端口号的域名前缀
  15. $servername = trim($_SERVER['SERVER_NAME']);
  16. //获取服务端授权文件校验
  17. $verifyurl = file_get_contents('http://www.nidecms.com/?data/upload/copyright.php?domain='.$servername);
  18. if(!empty($verifyurl)){
  19.     echo "已授权!"; //授权成功
  20. }else{
  21.     die("未授权!"); //授权失败
  22. }

方法三:只提供个代码思路

PHP
  1. function authorization($seed = '') {
  2.     $encode = $_SERVER['SERVER_SOFTWARE'] . $_SERVER['SERVER_NAME'] . $_SERVER['DOCUMENT_ROOT'] .
  3.         $_SERVER['SERVER_ADMIN'] . $_SERVER['SERVER_ADDR'] . PHP_VERSION . PHP_OS . __FILE__;
  4.     return md5 ($encode);
  5. }
  6. $authorization_key = 'www.nidecms.com';
  7. echo authorization($authorization_key);//这里是生成字符串验证
  8. $authorization_check = array('dd670852938815f3892d3c511cc8fceb','ddc976cc02bce5c3c22c4d7d201c0cae' );//授权字串,把生成的字符验证复制到这里来
  9. if (!in_array(authorization ($authorization_key), $authorization_check)) {
  10.     die('对不起,你的程序未经过小一授权!!');
  11. }

以上,就是PHP实现域名授权的方法,其实还有很多的思路,大家可以分享讨论一下,我只是总结了一部分,比如C 扩展加密,zendloader 加密等,无论是哪种方法,只要是能解决用户需求的就是好代码。

本文结束

评论专区

发表评论

评论列表(无评论)