php實現網域授權的方法:先取得不含連接埠號碼的網域前綴;然後取得服務端授權檔案校驗;接著判斷是否成功授權;最後取得網域並校驗結果即可。
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中文網其他相關文章!