用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限制域名訪問內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 基于PHP實現短信驗證碼發送次數限制
- ThinkPHP5.1驗證碼功能實現的示例代碼
- PHP開發API接口簽名生成及驗證操作示例
- php+js實現的拖動滑塊驗證碼驗證表單操作示例【附源碼下載】
- PHP code 驗證碼生成類定義和簡單使用示例
- PHP開發api接口安全驗證操作實例詳解
- php實現文件上傳基本驗證
- 基于PHP實現郵箱驗證激活過程詳解