php代码如何加域名授权?开源php项目如何保护版权 商业授权?

php在web开发领域是最热门的语言,也是开发项目的不二选择,许多PHP开发者说它是当今世界上最好的开发语言,php开发项目效率高,是因为开源项目太多了,不管是国内,还是国外,开源的框架,开源的CMS系统,开源的商城系统太多了,所以php的生态圈很好。如果你想对项目进行开源,那就需要对源码进行一个简单的版权保护,代码可以开源,但是项目的版权,所有权是你的。

php代码如何加域名授权?开源php项目如何保护版权 商业授权?

 

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

php代码如何加域名授权?开源php项目如何保护版权 商业授权?

 

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

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了,可是如果源码一旦破解沦陷,所有的判断函数不就是 鱼肉么?有的人说 我代码加密了你怎么破解?

php代码如何加域名授权?开源php项目如何保护版权 商业授权?

 

还真别说,日前看到淘宝上有这样一个商品叫作:没有不能解密的代码,标价好像是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('对不起,你的程序未经过小一授权!!');
}

php代码如何加域名授权?开源php项目如何保护版权 商业授权?

 

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

欢迎关注公众号:云码素材,交流分享! 云码素材原创作品,更多精品资源下载,技术分享请关注,私信云码素材!

安装说明: php域名授权源码_ 验证域名+IP 双重验证+盗版追踪 完整可用就是一款 php 验证系统,谁用谁知道,某站很多人卖的都缺少关键的验证文件,没有验证文件还要验证系统吗? 详细安装见附件说明文档。 授权中心相关: a3ym.com.sql 授权中心的数据库 脚本 特别提示:在线更新功能需要您自己有一定的编程能力,在线更新功能需要自行整合到您自己的程序,所以如果您没有编程能力,可以忽略这个功能。 jsduhufysjdu45ghgg 目录是补丁目录 放到自己的服务器上 比如 https://www.6gym.com/jsduhufysjdu45ghgg update.php 负责 授权检查 和 更新版本检查 版本都是 依次递增 1.1 1.2 1.3 不能跳跃 客户端也是依次升级 客户端 当前版本是 1.1 就先升级到 1.2 再升级到 1.3 所以 在授权管理中心 添版本的时候 必须按照规律来 版本号 必须如此 更新包 很简单 参考下 jsduhufysjdu45ghgg 下面的 1.1.zip 命名格式 升级文件为了防止猜出来 可以自己随意命名 zip 格式 客户端版本号 就按照 之前定的前缀 就行 在查询的时候 我已经做处理了 你确定下 你的前缀 还得修改 version.php 里面的版本号 自己想一下 确定下 更新包的 数据库更新脚本 update.sql sql 语句 自己写 务必检查好 客户端升级的时候 直接执行 更新包 每次更新完成后 都全部删除 防止客户拿到更新包 更新包制作 必须严谨 测试后 再发布 授权管理平台 用户 admin 密码 admin888 安全码 123456 授权域名 为顶级域名 不限制二级域名 授权时间 格式 2017-01-01 这样填写 升级动作 已经包含 授权检查 客户端其他文件 授权检查代码.php 自己复制到重要文件中 然后密重要文件就行 授权检查代码 一定要在文件开头 不然不起作用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值