這篇文章主要介紹了PHP實現(xiàn)限制域名訪問的實現(xiàn)代碼,如果不是允許的域名不讓使用,然后讓客戶購買認證即可,但本地驗證加密一般都可以被破解,建議用遠程驗證,都收費了不差這點錢了,需要的朋友可以參考下
用PHP編寫好的源碼,如果不想被其它人直接利用怎么辦?首先想到的是加密,但現(xiàn)在除了Zend 5加密還比較難破解外,其它的加密方式都不堪一擊。即使不破解,不懷好意的人同樣可以使用你的源碼搭建一個和你一模一樣的一個網(wǎng)站。這豈不是使你的勞動成果白白的被別人占為己有。下面介紹一種方法即限制域名的方法來保護你的源代碼不被直接拷貝運行。
如何通過程序限制域名從而保護源碼呢?比如你所做的網(wǎng)站將來要使用的是www.jb51.net,如果PHP的程序丟失了,即使其它人使用你的PHP源碼,如果判斷的域名不正確,也無法運行,同時將源碼加密起來,這樣就萬無一失了。
PHP程序限制域名的程序源碼如下:
下面就來分享一下實現(xiàn)代碼
1、限制域名訪問方法一
<?php
if(!in_array($_SERVER['HTTP_HOST'],array('test.com','www.test.com'))){
exit('建站請聯(lián)系:
http://www.test.com');
}
?>
2、限制域名訪問方法二
function allow_domain(){
$is_allow=false;
$servername=trim($_SERVER['SERVER_NAME']);
$Array=array("localhost","127.0.0.1","test.com","test1.com");
foreach($Array as $value){
$value=trim($value);
$domain=explode($value,$servername);
if(count($domain)>1){
$is_allow=true;
break;
}
}
if(!$is_allow){
die("<center>僅限本地使用!需要域名授權(quán)請聯(lián)系jb51.net");
}
}
allow_domain();
然后用zend加密,其他加密容易被破解。
PHP實現(xiàn)域名授權(quán)的兩種方法
01. 在線校驗域名授權(quán)的方法:
客戶端代碼:
<?php
//獲取不帶端口號的域名前綴
$servername = trim($_SERVER['SERVER_NAME']);
//獲取服務(wù)端授權(quán)文件校驗
$verifyurl = file_get_contents('//www.jb51.net/zb_users/upload/copyright.php?domain='.$servername);
if(!empty($verifyurl)){
echo "已授權(quán)!"; //授權(quán)成功
}else{
die("未授權(quán)!"); //授權(quán)失敗
}
?>
服務(wù)端代碼:
<?php
//獲取域名
$domain = $_GET['domain'];
//授權(quán)域名列表
$Array = array('127.0.0.1','localhost');
//校驗結(jié)果
echo in_array($domain, $Array) ? 'yes' : '';
?>
域名授權(quán)代碼可封裝進函數(shù),或者進行加密,對于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授權(quán)的域名較多,可以在項目中增加域名字段,將域名寫入數(shù)據(jù)庫再進行讀取和校驗,此方法我們已發(fā)布成獨立的插件,詳見:ZBlogPHP域名授權(quán)插件-AllowURL, 通過插件可以將域名等信息添加到數(shù)據(jù)庫中進行校驗。
02. 獨立校驗域名授權(quán)的方法:
<?php
function allow_domain(){
$is_allow=false;
//獲取不帶端口號的域名前綴
$servername=trim($_SERVER['SERVER_NAME']);
//授權(quán)域名列表
$Array=array("localhost","127.0.0.1");
//遍歷數(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();
?>
域名授權(quán)的目的在于保護知識產(chǎn)權(quán),鼓勵開發(fā)者能夠發(fā)布更多優(yōu)秀的作品,推動整個網(wǎng)絡(luò)社會的文化發(fā)展與科技進步,有著十分重要的意義。
到此這篇關(guān)于PHP實現(xiàn)限制域名訪問的實現(xiàn)代碼(本地驗證)的文章就介紹到這了,更多相關(guān)PHP限制域名訪問內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
來源:腳本之家
鏈接:https://www.jb51.net/article/195522.htm
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!