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

web前端1095804年前 (2016-09-18)

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

客户端代码:

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

服务端代码:

<?php//获取域名$domain = $_GET['domain'];//授权域名列表$Array = array('127.0.0.1','localhost');//校验结果echo in_array($domain, $Array) ? 'yes' : '';?>

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


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

<?phpFunction 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();?>

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

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。