php常用的授權方法有:1.線上校驗網域授權的方法,程式碼如「file_get_contents('http://...copyright.php?domain='.$servername);」; 2、獨立校驗網域授權的方法。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
PHP實作網域授權的兩種方法
01. 線上校驗網域授權的方法:
用戶端程式碼:
PHP
<?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
<?php //获取域名 $domain = $_GET['domain']; //授权域名列表 $Array = array('127.0.0.1','localhost'); //校验结果 echo in_array($domain, $Array) ? 'yes' : ''; ?>
網域授權程式碼可封裝進函數,或進行加密,對於常用的PHP加密形式,都有其破解的方法,例如ZendGuard、ionCube等,如果授權的域名較多,可以在項目中增加域名字段,將域名寫入數據庫再進行讀取和校驗,此方法我們已發布成獨立的插件,詳見:ZBlogPHP域名授權插件-AllowURL, 透過外掛程式可以將網域名稱等資訊加入資料庫進行校驗。
02. 獨立校驗網域授權的方法:
PHP
<?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(); ?>
網域授權的目的在於保護智慧財產權,鼓勵開發者能發布更多優秀的作品,推動整個網路社會的文化發展與科技進步,有著十分重要的意義。
推薦學習:《PHP影片教學》
以上是php常用的授權方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!