4 1652 2021-02-12 00:08:38
收藏简单的PHP域名授权访问代码,增加了Zend 5加密,本地验证。通过程序限制域名从而保护源码,就算程序丢失了,其它人也没办法使用你的PHP源码,如果判断的域名不正确,也无法运行。
<?php
if(!in_array($_SERVER['HTTP_HOST'],array('www.11px.cn','11px.cn'))){
exit('非法访问,请联系:http://www.11px.cn');
}
?>
function allow_domain(){
$is_allow=false;
$servername=trim($_SERVER['SERVER_NAME']);
$Array=array("localhost","127.0.0.1","www.11px.cn","11px.cn");
foreach($Array as $value){
$value=trim($value);
$domain=explode($value,$servername);
if(count($domain)>1){
$is_allow=true;
break;
}
}
if(!$is_allow){
die("<center>仅限本地使用!需要域名授权请联系www.11px.cn");
}
}
allow_domain();
然后用zend加密,其他加密容易被破解。
在线校验域名授权的方法:
客户端代码:
<?php
//获取不带端口号的域名前缀
$servername = trim($_SERVER['SERVER_NAME']);
//获取服务端授权文件校验
$verifyurl = file_get_contents('//www.11px.cn/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, 通过插件可以将域名等信息添加到数据库中进行校验。
<?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实现限制域名访问的实现代码(本地验证)的文章就介绍到这了。
本文地址:https://xzo.com.cn/develop/php/538.html
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。
PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。
php判断时间戳是不是今天的实现方法:首先创建一个PHP示例文件;指定一个时间,并...
任何站点但凡有点流量就会遇到这种情况:首页被人用问号传了参数,恰恰还被收录...
我们使用php开发网站的时候,经常会需要调试确保功能正常。而如果功能出现异...
json是使用非常广泛的数据,通过使用json,我们还可以实现多种语言的联动。今天...
isset() 函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释...
我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...
很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...
PHP_EOL是一个相当好用的函数,可自动适配多种换行格式,在实际的应用中体验非...
一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...
因客户需要一键推送到多平台,下载鸥开发了这款一键推送至百度、必应、神马插...
通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...
帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...
帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...
使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...
用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...
本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...