當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  編程技術(shù) >  正文

PHP實(shí)現(xiàn)限制域名訪問(wèn)的實(shí)現(xiàn)代碼本地驗(yàn)證

 2020-10-30 13:29  來(lái)源: 腳本之家   我來(lái)投稿 撤稿糾錯(cuò)

  阿里云優(yōu)惠券 先領(lǐng)券再下單

這篇文章主要介紹了PHP實(shí)現(xiàn)限制域名訪問(wèn)的實(shí)現(xiàn)代碼,如果不是允許的域名不讓使用,然后讓客戶購(gòu)買認(rèn)證即可,但本地驗(yàn)證加密一般都可以被破解,建議用遠(yuǎn)程驗(yàn)證,都收費(fèi)了不差這點(diǎn)錢了,需要的朋友可以參考下

用PHP編寫(xiě)好的源碼,如果不想被其它人直接利用怎么辦?首先想到的是加密,但現(xiàn)在除了Zend 5加密還比較難破解外,其它的加密方式都不堪一擊。即使不破解,不懷好意的人同樣可以使用你的源碼搭建一個(gè)和你一模一樣的一個(gè)網(wǎng)站。這豈不是使你的勞動(dòng)成果白白的被別人占為己有。下面介紹一種方法即限制域名的方法來(lái)保護(hù)你的源代碼不被直接拷貝運(yùn)行。

如何通過(guò)程序限制域名從而保護(hù)源碼呢?比如你所做的網(wǎng)站將來(lái)要使用的是www.jb51.net,如果PHP的程序丟失了,即使其它人使用你的PHP源碼,如果判斷的域名不正確,也無(wú)法運(yùn)行,同時(shí)將源碼加密起來(lái),這樣就萬(wàn)無(wú)一失了。

PHP程序限制域名的程序源碼如下:

下面就來(lái)分享一下實(shí)現(xiàn)代碼

1、限制域名訪問(wèn)方法一

<?php 
if(!in_array($_SERVER['HTTP_HOST'],array('test.com','www.test.com'))){
 exit('建站請(qǐng)聯(lián)系:

http://www.test.com');


?>

2、限制域名訪問(wèn)方法二

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)請(qǐng)聯(lián)系jb51.net");
 }
}
allow_domain();

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

PHP實(shí)現(xiàn)域名授權(quán)的兩種方法

01. 在線校驗(yàn)域名授權(quán)的方法:

客戶端代碼:

<?php
//獲取不帶端口號(hào)的域名前綴
$servername = trim($_SERVER['SERVER_NAME']);
//獲取服務(wù)端授權(quán)文件校驗(yà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');
//校驗(yàn)結(jié)果
echo in_array($domain, $Array) ? 'yes' : '';
?>

域名授權(quán)代碼可封裝進(jìn)函數(shù),或者進(jìn)行加密,對(duì)于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授權(quán)的域名較多,可以在項(xiàng)目中增加域名字段,將域名寫(xiě)入數(shù)據(jù)庫(kù)再進(jìn)行讀取和校驗(yàn),此方法我們已發(fā)布成獨(dú)立的插件,詳見(jiàn):ZBlogPHP域名授權(quán)插件-AllowURL, 通過(guò)插件可以將域名等信息添加到數(shù)據(jù)庫(kù)中進(jìn)行校驗(yàn)。

02. 獨(dú)立校驗(yàn)域名授權(quán)的方法:

<?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();
?>

域名授權(quán)的目的在于保護(hù)知識(shí)產(chǎn)權(quán),鼓勵(lì)開(kāi)發(fā)者能夠發(fā)布更多優(yōu)秀的作品,推動(dòng)整個(gè)網(wǎng)絡(luò)社會(huì)的文化發(fā)展與科技進(jìn)步,有著十分重要的意義。

到此這篇關(guān)于PHP實(shí)現(xiàn)限制域名訪問(wèn)的實(shí)現(xiàn)代碼(本地驗(yàn)證)的文章就介紹到這了,更多相關(guān)PHP限制域名訪問(wèn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

來(lái)源:腳本之家

鏈接:https://www.jb51.net/article/195522.htm

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
php教程

相關(guān)文章

  • PHP8的數(shù)據(jù)類型轉(zhuǎn)換-PHP8知識(shí)詳解

    什么是數(shù)據(jù)類型轉(zhuǎn)換?答:數(shù)據(jù)從一個(gè)類型轉(zhuǎn)換成另外一個(gè)類型,就是數(shù)據(jù)類型轉(zhuǎn)換。在PHP8中,變量的類型就是由賦值決定的,也就是說(shuō),如果string賦值給$var,然后$var的類型就是string。之后將int值賦值給$var,它將是int類型。列如:在上面的代碼中的“=”不是數(shù)學(xué)里面的“等于”,它是

    標(biāo)簽:
    php教程
  • 在PHP8中檢測(cè)數(shù)據(jù)類型-PHP8知識(shí)詳解

    在PHP8中,可以使用多種方法來(lái)檢測(cè)數(shù)據(jù)類型。以下是常用的四種方法:使用gettype()函數(shù)、使用is_*系列函數(shù)、使用get_debug_type()函數(shù)、使用get_class()函數(shù)。一、使用gettype()函數(shù)gettype()函數(shù)返回給定變量的數(shù)據(jù)類型。例如:二、使用is_*系列函數(shù)P

    標(biāo)簽:
    php教程
  • PHP語(yǔ)言優(yōu)勢(shì)-PHP8知識(shí)詳解

    PHP起源于自由軟件,并且得到了不斷的迭代更新,在web開(kāi)發(fā)領(lǐng)域獨(dú)領(lǐng)風(fēng)騷,得到了廣大使用者的喜愛(ài),PHP作為一款優(yōu)秀的腳本語(yǔ)言,具有以下優(yōu)勢(shì):1、源碼開(kāi)源:所有的PHP源代碼,你都能從PHP官方網(wǎng)站下載到,可以快速修改和利用。2、完全免費(fèi):你可以從PHP官方網(wǎng)站下載源碼完全免費(fèi),無(wú)需支付任何費(fèi)用,直

    標(biāo)簽:
    php教程
  • PHP8的新特性-PHP8知識(shí)詳解

    PHP8是PHP編程語(yǔ)言的一個(gè)主要版本,在2020年11月26日發(fā)布。它引入了許多新特性和改進(jìn),包括以下一些主要特性:1.JIT編譯器:PHP8引入了名為TracingJIT的即時(shí)(Just-In-Time)編譯器。JIT可以將PHP腳本中頻繁執(zhí)行的部分編譯成原生機(jī)器碼,提高執(zhí)行速度。2.類型系統(tǒng)改

    標(biāo)簽:
    php教程
  • PHP是什么-PHP8知識(shí)詳解

    PHP是什么?PHP服務(wù)網(wǎng)從下面幾點(diǎn)為你講清楚什么是PHP。1、PHP最開(kāi)始是PersonalHomePage(個(gè)人主頁(yè))的縮寫(xiě),已經(jīng)正式更名為“PHP:HypertextPreprocessor”,超文本預(yù)處理器的字母縮寫(xiě)。2、PHP是一種被廣泛應(yīng)用的、跨平臺(tái)、開(kāi)放源代碼的多用途服務(wù)器端腳本語(yǔ)言,

    標(biāo)簽:
    php教程

熱門排行

信息推薦