admin 发表于 2024-5-25 19:51:05

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

一、在线校验域名授权方法:
1、客户端代码:
<?php
//获取不带端口号的域名前缀
$servername = trim($_SERVER['SERVER_NAME']);
//获取服务端授权文件校验
$verifyurl = file_get_contents('http://www.toyean.com/zb_users/upload/copyright.php?domain='.$servername);
if(!empty($verifyurl)){
      echo "已授权!";    //授权成功
}else{
      die("未授权!");    //授权失败
}
?>域名授权代码可封装进函数,或者进行加密,对于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授权的域名较多,可以在项目中增加域名字段,将域名写入数据库再进行读取和校验,此方法我们已发布成独立的插件,详见:ZBlogPHP域名授权插件-AllowURL, 通过插件可以将域名等信息添加到数据库中进行校验。
2、服务端代码:
<?php
//获取域名
$domain = $_GET['domain'];
//授权域名列表
$Array = array('127.0.0.1','localhost');
//校验结果
echo in_array($domain, $Array) ? 'yes' : '';
?>二、独立校验域名授权的方法:
<?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();
?>

页: [1]
查看完整版本: PHP实现域名授权的两种方法