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

时间:2022-07-05 22:47:03

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

客户端代码:

PHP
  1.  
    <?php
  2.  
    //获取不带端口号的域名前缀
  3.  
    $servername = trim($_SERVER['SERVER_NAME']);
  4.  
    //获取服务端授权文件校验
  5.  
    $verifyurl = file_get_contents('http://www.toyean.com/zb_users/upload/copyright.php?domain='.$servername);
  6.  
    if(!empty($verifyurl)){
  7.  
    echo "已授权!"; //授权成功
  8.  
    }else{
  9.  
    die("未授权!"); //授权失败
  10.  
    }
  11.  
    ?>

服务端代码:

PHP
  1.  
    <?php
  2.  
    //获取域名
  3.  
    $domain = $_GET['domain'];
  4.  
    //授权域名列表
  5.  
    $Array = array('127.0.0.1','localhost');
  6.  
    //校验结果
  7.  
    echo in_array($domain, $Array) ? 'yes' : '';
  8.  
    ?>

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

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

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

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

https://blog.csdn.net/a6272873/article/details/76326915