当前位置:首页 >  站长 >  编程技术 >  正文

PHP实现限制域名访问的实现代码本地验证

 2020-10-30 13:29  来源: 脚本之家   我来投稿 撤稿纠错

  阿里云优惠券 先领券再下单

这篇文章主要介绍了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限制域名访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:脚本之家

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

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关标签
php教程

相关文章

  • PHP8的数据类型转换-PHP8知识详解

    什么是数据类型转换?答:数据从一个类型转换成另外一个类型,就是数据类型转换。在PHP8中,变量的类型就是由赋值决定的,也就是说,如果string赋值给$var,然后$var的类型就是string。之后将int值赋值给$var,它将是int类型。列如:在上面的代码中的“=”不是数学里面的“等于”,它是

    标签:
    php教程
  • 在PHP8中检测数据类型-PHP8知识详解

    在PHP8中,可以使用多种方法来检测数据类型。以下是常用的四种方法:使用gettype()函数、使用is_*系列函数、使用get_debug_type()函数、使用get_class()函数。一、使用gettype()函数gettype()函数返回给定变量的数据类型。例如:二、使用is_*系列函数P

    标签:
    php教程
  • PHP语言优势-PHP8知识详解

    PHP起源于自由软件,并且得到了不断的迭代更新,在web开发领域独领风骚,得到了广大使用者的喜爱,PHP作为一款优秀的脚本语言,具有以下优势:1、源码开源:所有的PHP源代码,你都能从PHP官方网站下载到,可以快速修改和利用。2、完全免费:你可以从PHP官方网站下载源码完全免费,无需支付任何费用,直

    标签:
    php教程
  • PHP8的新特性-PHP8知识详解

    PHP8是PHP编程语言的一个主要版本,在2020年11月26日发布。它引入了许多新特性和改进,包括以下一些主要特性:1.JIT编译器:PHP8引入了名为TracingJIT的即时(Just-In-Time)编译器。JIT可以将PHP脚本中频繁执行的部分编译成原生机器码,提高执行速度。2.类型系统改

    标签:
    php教程
  • PHP是什么-PHP8知识详解

    PHP是什么?PHP服务网从下面几点为你讲清楚什么是PHP。1、PHP最开始是PersonalHomePage(个人主页)的缩写,已经正式更名为“PHP:HypertextPreprocessor”,超文本预处理器的字母缩写。2、PHP是一种被广泛应用的、跨平台、开放源代码的多用途服务器端脚本语言,

    标签:
    php教程

热门排行

信息推荐