php在web開(kāi)發(fā)領(lǐng)域是最熱門(mén)的語(yǔ)言,也是開(kāi)發(fā)項(xiàng)目的不二選擇,許多PHP開(kāi)發(fā)者說(shuō)它是當(dāng)今世界上最好的開(kāi)發(fā)語(yǔ)言,php開(kāi)發(fā)項(xiàng)目效率高,是因?yàn)殚_(kāi)源項(xiàng)目太多了,不管是國(guó)內(nèi),還是國(guó)外,開(kāi)源的框架,開(kāi)源的CMS系統(tǒng),開(kāi)源的商城系統(tǒng)太多了,所以php的生態(tài)圈很好。
如果你想對(duì)項(xiàng)目進(jìn)行開(kāi)源,那就需要對(duì)源碼進(jìn)行一個(gè)簡(jiǎn)單的版權(quán)保護(hù),代碼可以開(kāi)源,但是項(xiàng)目的版權(quán),所有權(quán)是你的。
域名授權(quán)代碼可封裝進(jìn)函數(shù),或者進(jìn)行加密,對(duì)于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授權(quán)的域名較多,可以在項(xiàng)目中增加域名字段,將域名寫(xiě)入數(shù)據(jù)庫(kù)再進(jìn)行讀取和校驗(yàn),此方法你可以封裝成類或插件。 (推薦學(xué)習(xí):PHP視頻教程)
下面給大家分享兩種代碼,大家可以學(xué)習(xí)一下。
一、獨(dú)立校驗(yàn)域名授權(quán)的方法:
function allow_domain(){ $is_allow=false; //獲取不帶端口號(hào)的域名前綴 $servername=trim($_SERVER['SERVER_NAME']); //授權(quán)域名列表 $Array=array("www.yunmasucai.com","www.zzphp.cn"); //遍歷數(shù)組 foreach($Array as $value){ $value=trim($value); $domain=explode($value,$servername); if(count($domain)>1){ $is_allow=true; break; } } if(!$is_allow){ die("域名未授權(quán)!"); //授權(quán)失敗 }else{ echo "域名已授權(quán)!"; //授權(quán)成功 } } allow_domain();
二、在線校驗(yàn)域名授權(quán)的方法:
/* * 服務(wù)端代碼 */ //獲取域名 $domain = $_GET['domain']; //授權(quán)域名列表 $Array = array('www.yunmasucai.com','www.zzphp.cn'); //校驗(yàn)結(jié)果 echo in_array($domain, $Array) ? 'yes' : ''; /* * 客戶端代碼 */ //獲取不帶端口號(hào)的域名前綴 $servername = trim($_SERVER['SERVER_NAME']); //獲取服務(wù)端授權(quán)文件校驗(yàn) $verifyurl = file_get_contents('http://www.yunmasucai.com/data/upload/copyright.php?domain='.$servername); if(!empty($verifyurl)){ echo "已授權(quán)!"; //授權(quán)成功 }else{ die("未授權(quán)!"); //授權(quán)失敗 }