在1panel中自建某主题授权接口

在1panel中自建某主题授权接口

我已经购买该主题的主域名授权,可是对于二级域名却无法授权,于是尝试在1panel自建授权接口,这里单纯只是记录一下过程,仅供学习参考,不分享任何文件,方法非原创,所有代码来自互联网,本人不承担任何责任,如有侵权马上删除,支持正版,从我做起!。

大概原理是在1panel中现创建一个独立的php环境(该环境跑在docker里面),然后修改WordPress的compose文件,自定义host将授权接口地址指向宿主机中自建的接口。

一、创建php运行环境

如图,名称随意,其余默认,点确定

图片[1]-在1panel中自建某主题授权接口-爱写代码的小医生

二、创建授权接口

在1panel中点击创建网站,选运行环境,主域名为api.xxxxx.com,确认。

图片[2]-在1panel中自建某主题授权接口-爱写代码的小医生

为该接口随意选择一个ssl证书。

图片[3]-在1panel中自建某主题授权接口-爱写代码的小医生

在该网站的index.php中,加入如下代码:

<?php
$url = $_SERVER['REQUEST_URI'];

function getRandom($length) {
	$characters = 'abcdefghijklmnopqrstuvwxyz1234567890';
	$randomString = '';
	for ($i = 0; $i < $length; $i++) {
		$index = rand(0, strlen($characters) - 1);
		$randomString .= $characters[$index];
	}
	return $randomString;
}
function generate_randstr($url) {
	$key = strrev(md5($url));
	$num1 = rand(70,99);
	$num1r = strrev(strval($num1));
	$num2 = rand(70,99);
	$num2r = strrev(strval($num2));
	$key = substr($key,23).substr($key,0,23);
	$keystr = substr_replace($key,getRandom(3),$num1-69,0);
	$randstr = getRandom(3).$num1r.getRandom(rand(5,10)).$keystr.getRandom(100-$num2).$num2r;
	return $randstr;
}

header('Content-Type: application/json; charset=UTF-8');

if(strpos($url, '/api/auth') !== false){
	$time = time();
	$token = md5(uniqid(mt_rand(), true) . microtime());
	$randstr = generate_randstr($_POST['url']);
	$sign = md5($randstr.$time.$token.'ok');
    $data = ['error'=>true, 'error_code'=>0, 'msg'=>'', 'time'=>$time, 'token'=>$token, 'randstr'=>$randstr, 'code'=>base64_encode('恭喜您,授权验证成功'), 'sign'=>$sign];
    echo json_encode($data);
}
elseif(strpos($url, '/api/update') !== false){
    $version = $_POST['version'];
    $data = ['result'=>false, 'aut_error'=>false, 'msg'=>'暂无更新,您当前的版本已是最新版', 'version'=>$version];
    echo serialize($data);
}

 

在伪静态中,加入如下代码:

location / {
	if (!-e $request_filename){
		rewrite  ^(.*)$  /index.php/$1  last;   break;
	}
}

图片[4]-在1panel中自建某主题授权接口-爱写代码的小医生

在终端中输入:

ip addr show docker0

可以看到宿主机的ip内网ip为172.17.0.1

图片[5]-在1panel中自建某主题授权接口-爱写代码的小医生

点击容器-编排- WordPress容器,加入如下代码:

extra_hosts:
    - "api.xxxxx.com:172.17.0.1"

图片[6]-在1panel中自建某主题授权接口-爱写代码的小医生

 

然后在Wordpress中安装该主题,就能自动激活授权了。

值得注意的是,网站需要启用https,wordpress中才能正常激活该主题。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容