查看: 644|回复: 0

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

[复制链接]

748

主题

39

回帖

3907

积分

管理员

总舵主

积分
3907
QQ
发表于 2024-5-25 19:51:05 | 显示全部楼层 |阅读模式
一、在线校验域名授权方法:
1、客户端代码:
  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加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授权的域名较多,可以在项目中增加域名字段,将域名写入数据库再进行读取和校验,此方法我们已发布成独立的插件,详见:ZBlogPHP域名授权插件-AllowURL, 通过插件可以将域名等信息添加到数据库中进行校验。
2、服务端代码:
  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. ?>
复制代码
二、独立校验域名授权的方法:
  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. ?>
复制代码


道不同,不相为谋!理想要有,万一实现了呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:2513533699@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|鲁ICP备19000917号|鲁公网安备37078302000320号

在本版发帖
关注公众号
QQ客服返回顶部