1. 程式人生 > 程式設計 >PHP實現限制域名訪問的實現程式碼(本地驗證)

PHP實現限制域名訪問的實現程式碼(本地驗證)

用PHP編寫好的原始碼,如果不想被其它人直接利用怎麼辦?首先想到的是加密,但現在除了Zend 5加密還比較難破解外,其它的加密方式都不堪一擊。即使不破解,不懷好意的人同樣可以使用你的原始碼搭建一個和你一模一樣的一個網站。這豈不是使你的勞動成果白白的被別人佔為己有。下面介紹一種方法即限制域名的方法來保護你的原始碼不被直接拷貝執行。

如何通過程式限制域名從而保護原始碼呢?比如你所做的網站將來要使用的是www.jb51.net,如果PHP的程式丟失了,即使其它人使用你的PHP原始碼,如果判斷的域名不正確,也無法執行,同時將原始碼加密起來,這樣就萬無一失了。

PHP程式限制域名的程式原始碼如下:

下面就來分享一下實現程式碼

1、限制域名訪問方法一

<?php 
if(!in_array($_SERVER['HTTP_HOST'],array('test.com','www.test.com'))){
	exit('建站請聯絡: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>僅限本地使用!需要域名授權請聯絡jb51.net");
	}
}
allow_domain();

然後用zend加密,其他加密容易被破解。

PHP實現域名授權的兩種方法

01. 線上校驗域名授權的方法:

客戶端程式碼:

<?php
//獲取不帶埠號的域名字首
$servername = trim($_SERVER['SERVER_NAME']);
//獲取服務端授權檔案校驗
$verifyurl = file_get_contents('//www.jb51.net/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. 獨立校驗域名授權的方法:

<?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限制域名訪問內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!