如何寫出難被破解的域名授權(quán)和站點(diǎn)限制呢?
域名授權(quán)代碼可封裝進(jìn)函數(shù),或者進(jìn)行加密,對(duì)于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授權(quán)的域名較多,可以在項(xiàng)目中增加域名字段,將域名寫入數(shù)據(jù)庫(kù)再進(jìn)行讀取和校驗(yàn)。
工具/原料電腦PHP編程器方法/步驟1、在線校驗(yàn)域名授權(quán)的方法,客戶端代碼:
1)寫入客戶端代碼(php代碼):
PHP
<?php
//獲取不帶端口號(hào)的域名前綴$servername = trim($_SERVER['SERVER_NAME']);
//獲取服務(wù)端授權(quán)文件校驗(yàn)
$verifyurl = file_get_contents('http://www.abc.com/zb_users/upload/copyright.php?domain='.$servername);
if(!empty($verifyurl)){
echo "已授權(quán)!"; //授權(quán)成功
}else{
die("未授權(quán)!"); //授權(quán)失敗
}
?>
2、寫入服務(wù)端代碼(php代碼)
<?php
//獲取域名$domain = $_GET['domain'];
//授權(quán)域名列表
$Array = array('127.0.0.1','localhost');
//校驗(yàn)結(jié)果echo in_array($domain, $Array) ? 'yes' : '';
?>
2、獨(dú)立校驗(yàn)域名授權(quán)的方法:
(PHP代碼)
<?php
function allow_domain(){
$is_allow=false;
//獲取不帶端口號(hào)的域名前綴
$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();
?>