第一种
云端校验域名授权
客户端代码:
<?php
$shouname = trim($_SERVER['SERVER_NAME']); //获取域名
$shouurl = file_get_contents('https://www.xxx.com/shouquan.php?domain='.$shouname); //获取服务端授权文件
if(!empty($shouurl)){
echo "已授权!"; //授权成功
}else{
die("未授权!"); //授权失败
}
?>
服务端代码:
<?php
$domain = $_GET['domain']; //获取域名
$Array = array('127.0.0.1','localhost','www.aaa.com'); //授权域名列表
echo in_array($domain, $Array) ? 'yes' : ''; //校验结果
?>
域名授权代码可封装进函数,或者进行加密,对于常用的PHP加密形式,都有其破解的方法,比如Zend、mzphp2、ionCube等,如果授权的域名较多,可以在项目中增加域名字段,将域名写入数据库再进行读取和校验。
第二种
独立校验域名授权
<?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();
?>
使用方法
以上方法推荐使用第一种,因为第一种便于管理,将客户端代码写到wordpress主题全局PHP函数文件即可,然后再自己的服务端配置好域名授权,客户端的PHP文件可以自行加密,当然了,世界上没有无法解密的PHP代码。