本文作者:温文曦

小鬼EP分销系统2.7版本全解去授权+修复QQ登录+接口状态改为本地检测

温文曦 2个月前 ( 04-05 ) 1520 102条评论 百度已收录
小鬼EP分销系统2.7版本全解去授权+修复QQ登录+接口状态改为本地检测摘要: 更新内容1.监控用户接口显示到期时间 2.增加接口到期禁止开通主机功能 3.key安全码后台隐藏 4.增加了一套layui模板5.添加用户列表搜索功能...

更新内容

1.监控用户接口显示到期时间 

2.增加接口到期禁止开通主机功能 

3.key安全码后台隐藏 

4.增加了一套layui模板

5.添加用户列表搜索功能

6.添加主机列表搜索功能 

7.修复站长后台登入不跳转

8.修复api对接开通ssl 

9.修复api ssl加密传输功能

10.增加两套首页模板 站长可在后台更换模板

11.接口状态改为本地检测

12.修复QQ登录

QQ截图20200405113954.png

QQ登录修复,修改/includes/function.php 文件32行

HTTPS://qqlogin.vience.cn/Oauth/request.api?state=

wddw9.png

接口状态监测改为本地检测

 /includes/function.php  25-26行 引用api.php 121-130行 引用如下:

if($act == 'apistatus'){
$ip = $_REQUEST['ip'];
$key = $_REQUEST['key'];
$url = $_REQUEST['url'];
$r = rand(100,999);
$a = 'add';
$s = md5($a . $key . $r);
$api = "http://{$ip}:3312/api/index.php?c=whm&a={$a}&r={$r}&s={$s}&json=1";
$result = curl_get($api);
if(($result === false) || strpos($result ,'403')){
$code = 0;
}else{
$code = 1;
}
echo json_encode(array(
'code' => $code
));
exit();
}


includes/common.php文件展示

<?php
header('Content-type:text/html;Charset=utf-8');
define('VERSION', '2.7s');
define('AUTH_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('AUTH_API_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/api.php');
define('DEC', DIRECTORY_SEPARATOR);
// 系统分隔符
define('ROOT_PATH', str_replace(strrchr(__DIR__, DEC), '', __DIR__) . DEC);
// 根目录
define('INCLUDES_PATH', __DIR__ . DEC);
// 引入目录
define('INSTALL_PATH', ROOT_PATH . 'install' . DEC);
// 安装目录
$isLogin = false;
$isUserLogin = false;
$mod = isset($mod) ? $mod : '';
require_once INCLUDES_PATH . 'function.php';
require_once INCLUDES_PATH . 'common.class.php';
require_once ROOT_PATH . 'config.php';
require_once INCLUDES_PATH . 'epay.class.php';
require_once INCLUDES_PATH . 'codepay.class.php';
if (phpversion() != 5.6) {
    Tips::error('要求PHP版本5.6');
}
if (!file_exists(INSTALL_PATH . 'install.lock') && $mod != 'install') {
    Tips::error('请先安装!', '/install');
}
if ($mod != 'install') {
    $dsn = 'MySQL:host=' . $db['dbHost'] . ';port=' . $db['dbPort'] . ';dbname=' . $db['dbName'] . ';charset=utf8';
    try {
        $DB = new PDO($dsn, $db['dbUser'], $db['dbPwd']);
    } catch (Exception $e) {
        Tips::error('数据库连接错误,请检查根目录 config.php 文件');
    }
    $allDb = $DB->query('show tables')->fetchAll(PDO::FETCH_ASSOC);
    if (empty($allDb)) {
        unlink(INSTALL_PATH . 'install.lock');
        if ($mod != 'install') {
            Tips::error('数据库为空,请重新安装!', '/install');
        }
    }
}
if ($mod == 'install' && file_exists(INSTALL_PATH . 'install.lock')) {
    Tips::error('已安装,重新安装请删除 /install/install.lock 文件', '/');
}
session_start();
if ($mod != 'install') {
    if (isset($_SESSION['adminUser'])) {
        $adminUser = $_SESSION['adminUser'];
        $ip = Gets::ip();
        $version = json_decode(file_get_contents(AUTH_API_URL . '?act=version'), true);
        $adminData = $DB->query("SELECT * FROM `impepd_admin` WHERE `adminUser` = '{$adminUser}'")->fetch(PDO::FETCH_ASSOC);
        if (!empty($adminData) && $adminData['adminLoginIp'] == $ip) {
            $isLogin = true;
        }
    }
    if (!isset($notLogin) && $mod == 'admin' && !$isLogin) {
        header('Location:/admin/login.php');
    }
    if (isset($_SESSION['userName'])) {
        $userName = $_SESSION['userName'];
        $ip = Gets::ip();
        $userData = $DB->query("SELECT * FROM `impepd_user` WHERE `userName` = '{$userName}'")->fetch(PDO::FETCH_ASSOC);
        if (!empty($userData) && $userData['userIp'] == $ip && $userData['userState'] == 1) {
            $isUserLogin = true;
        }
    }
    if (!isset($notLogin) && $mod == 'user' && !$isUserLogin) {
        header('Location:/user/login.php');
    }
    $confData = $DB->query('SELECT * FROM `impepd_config`')->fetchAll(PDO::FETCH_ASSOC);
    foreach ($confData as $value) {
        $conf[$value['k']] = $value['v'];
    }
}

vendor/IMPEPD/IMPEPD.php 文件展示

<?php
function IMPEPD_ConfigOptions()
{
return array(
'空间大小' => array('Type' => 'text','Size' => '5','Description' => 'MB'),
'数据库大小' => array('Type' => 'text','Size' => '5','Description' => 'MB'),
'绑定域名数' => array('Type' => 'text','Size' => '5','Description' => '个,-1为无限'),
'绑定子目录数' => array('Type' => 'text','Size' => '5','Description' => '个,0为无限'),
'流量限制' => array('Type' => 'text','Size' => '5','Description' => 'GB/月'),
'产品类型' => array('Type' => 'text','Size' => '5','Description' => '0为虚拟主机,1为CDN'),
'端口(可留空)' => array('Type' => 'text','Size' => '5','Description' => '多个端口由,分开,ssl端口请加s,如80,443s')
);
}
function IMPEPD_AdminLink($params)
{
    $act = 'AdminLink';
    $data = array(
        'apiUrl' => isset($params['product_id']) ? $params['serverdomain'] : $params['serverhostname'],
        'userName' => $params['serverusername'],
        'userKey' => $params['serverpassword']
    );
    $result = GetCloud($act, $data);
    $str = '<span class="btn btn-success btn-xs">' . $result['msg'] . '</span>';
    if($result['code'] != 1)$str = '<span class="btn btn-danger btn-xs">' . $result['msg'] . '</span>';
    return $str;
}
function IMPEPD_CheckName($params)
{
if (!preg_match('/^[a-z0-9][a-z0-9_]{3,16}$/', $params['username']))return 'failed';
return 'success';
}
function IMPEPD_ClientArea($params)
{
if(isset($params['configoption25'])){
$str1 = '<ui><form action="http://' . $params["serverip"] . ':3312/vhost/index.php?c=session&a=login" method="post" target="_blank"><input type="hidden" name="username" value="' . $params['username'] . '" /><input type="hidden" name="passwd" value="' . $params['password'] . '" /><input type="submit" class="btn btn-success btn-block" value="直接登录(自定义密码无效)"/></form>';
$str2 = '<a href="http://' . $params["serverip"] . ':3312/vhost/?c=session&a=login" target="_blank" class="btn btn-primary btn-block">打开登录地址</a>';
return array($str1, $str2);
} else {
$str = '<body onLoad="document.impepd.submit()"><form action="http://' . $params['serverip'] . ':3312/vhost/?c=session&a=login" method="POST" name="impepd"><input name="username" value="' . $params['username'] . '" hidden><input name="passwd" value="' . $params['password'] . '" hidden></form></body>';
exit($str);
}
}
function IMPEPD_CreateAccount($params)
{
    if (!$params['configoption6'] && ($params['configoption1'] == NULL || $params['configoption2'] == NULL)) return '容量设置错误';
    $act = 'CreateAccount';
    $data = array(
        'apiUrl' => isset($params['product_id']) ? $params['serverdomain'] : $params['serverhostname'],
        'userName' => $params['serverusername'],
        "userKey" => $params['serverpassword'],
        'apiIp' => $params['serverip'],
        'hostName' => $params['username'],
        'hostPwd' => $params['password'],
        'hostDomain' => $params['domain'],
        'hostLimit' => $params['configoption1'],
        'dbLimit' => $params['configoption2'],
        'domainLimit' => $params['configoption3'],
        'dirLimit' => $params['configoption4'],
        'flowLimit' => $params['configoption5'],
        'hostType' => $params['configoption6'],
        'prot' => $params['configoption7']
    );
    $result = GetCloud($act, $data);
    $str = 'success';
    if(isset($params['configoption25']))$str = '成功';
    if($result['code'] != 1)$str = $result['msg'];
    return $str;
}
function IMPEPD_ChangePassword($params)
{
    $act = 'ChangePassword';
    $data = array(
        'apiUrl' => isset($params['product_id']) ? $params['serverdomain'] : $params['serverhostname'],
        'userName' => $params['serverusername'],
        "userKey" => $params['serverpassword'],
        'apiIp' => $params['serverip'],
        'hostName' => $params['username']
    );
    $result = GetCloud($act, $data);
    $str = 'success';
    if(isset($params['configoption25']))$str = '成功';
    if($result['code'] != 1)$str = $result['msg'];
    return $str;
}
function IMPEPD_TerminateAccount($params)
{
    $act = 'TerminateAccount';
    $data = array(
        'apiUrl' => isset($params['product_id']) ? $params['serverdomain'] : $params['serverhostname'],
        'userName' => $params['serverusername'],
        "userKey" => $params['serverpassword'],
        'apiIp' => $params['serverip'],
        'hostName' => $params['username']
    );
    $result = GetCloud($act, $data);
    $str = 'success';
    if(isset($params['configoption25']))$str = '成功';
    if($result['code'] != 1)$str = $result['msg'];
    return $str;
}
function IMPEPD_SuspendAccount($params)
{
    $act = 'SuspendAccount';
    $data = array(
        'apiUrl' => isset($params['product_id']) ? $params['serverdomain'] : $params['serverhostname'],
        'userName' => $params['serverusername'],
        "userKey" => $params['serverpassword'],
        'apiIp' => $params['serverip'],
        'hostName' => $params['username'],
        'hostState' => 1
    );
    $result = GetCloud($act, $data);
    $str = 'success';
    if(isset($params['configoption25']))$str = '成功';
    if($result['code'] != 1)$str = $result['msg'];
    return $str;
}
function IMPEPD_UnsuspendAccount($params)
{
    $act = 'SuspendAccount';
    $data = array(
        'apiUrl' => isset($params['product_id']) ? $params['serverdomain'] : $params['serverhostname'],
        'userName' => $params['serverusername'],
        "userKey" => $params['serverpassword'],
        'apiIp' => $params['serverip'],
        'hostName' => $params['username'],
        'hostState' => 0
    );
    $result = GetCloud($act, $data);
    $str = 'success';
    if(isset($params['configoption25']))$str = '成功';
    if($result['code'] != 1)$str = $result['msg'];
    return $str;
}
function GetCloud($act, $data){
    $apiUrl = $data['apiUrl'];
    unset($data['apiUrl']);
    $url = $apiUrl . '?act=' . $act;
    foreach ($data as $k => $v) {
        $url .= '&' . $k . '=' . $v;
    }
    return json_decode(file_get_contents($url), TRUE);
}
?>

PS:文件仅供学习参考,请勿商用!   

下载地址:

此处为隐藏内容,请评论后查看隐藏内容,谢谢!


补发一个文件

IMPEPD.php.zip


文章版权及转载声明

作者:温文曦本文地址:https://www.vience.cn/blog/313.html发布于 2个月前 ( 04-05 )
文章转载或复制请以超链接形式并注明出处文曦博客

赞(12
阅读
分享

发表评论

快捷回复:

评论列表 (有 102 条评论,1520人围观)参与讨论
网友昵称:q
q 游客2020-04-05沙发 回复
支持一下大佬
网友昵称:123
123 游客2020-04-05椅子 回复
..jekdjeje
网友昵称:幻梦
幻梦 游客2020-04-05板凳 回复
看看大佬
网友昵称:念晴
念晴 游客2020-04-05凉席 回复
支持大佬
网友昵称:文曦...
文曦... 游客2020-04-05地板 回复
....
网友昵称:锦汐
锦汐 游客2020-04-056楼 回复
66666666
网友昵称:手感
手感 游客2020-04-057楼 回复
收藏一下吧
网友昵称:游客
游客 游客2020-04-058楼 回复
支持大佬
网友昵称:阿龙
阿龙 游客2020-04-059楼 回复
厉害我来瞅瞅
网友昵称:极点
极点 游客2020-04-0510楼 回复
.jekdjeje
网友昵称:文西
文西 游客2020-04-0511楼 回复
我叫文西不是文曦
网友昵称:Mr.Zhang
Mr.Zhang 协作者2020-04-0512楼 回复
支持[I][/I]大佬
网友昵称:momo
momo 游客2020-04-0513楼 回复
我就看看,什么也不做。
网友昵称:Jason
Jason 游客2020-04-0514楼 回复
大佬牛逼
网友昵称:布偶
布偶 协作者2020-04-0515楼 回复
11111拿走看看
网友昵称:dove
dove 游客2020-04-0516楼 回复
支持一下
网友昵称:晨风
晨风 游客2020-04-0617楼 回复
emmmmm。。看不懂怎么破?
网友昵称:居居
居居 游客2020-04-0618楼 回复
谢谢大佬
网友昵称:浪神
浪神 游客2020-04-0619楼 回复
来了
网友昵称:梦曦
梦曦 游客2020-04-0620楼 回复
看看大佬
网友昵称:小夕
小夕 游客2020-04-0621楼 回复
支持支持
网友昵称:寻觅
寻觅 游客2020-04-0622楼 回复
支持大佬
网友昵称:扶苏
扶苏 游客2020-04-0623楼 回复
感谢分享
网友昵称:vks
vks 游客2020-04-0724楼 回复
谢谢大佬的分享
网友昵称:55
55 游客2020-04-0725楼 回复
nb/
网友昵称:知心
知心 游客2020-04-0726楼 回复
支持一下
网友昵称:发
游客2020-04-0727楼 回复
文章不错,写的很好!
网友昵称:哎
游客2020-04-0728楼 回复
文章不错,写的很好!支持
网友昵称:123
123 游客2020-04-0729楼 回复
支持qqqq
网友昵称:等
游客2020-04-0830楼 回复
谢谢
网友昵称:6946
6946 游客2020-04-0831楼 回复
afafasd
网友昵称:3ad
3ad 游客2020-04-0832楼 回复
dadad
网友昵称: 
  协作者2020-04-0833楼 回复
看看
网友昵称:third_qq_d197abc035e2a2c1
third_qq_d197abc035e2a2c1 协作者2020-04-0834楼 回复
[B][/B][I][/I][U][/U]文章不错,写的很好!
网友昵称:轻轻寒
轻轻寒 游客2020-04-0835楼 回复
6666,支持一下
网友昵称:寒寒
寒寒 游客2020-04-0836楼 回复
大佬牛皮
网友昵称:常成
常成 游客2020-04-0837楼 回复
骚文曦
网友昵称:小鱼云
小鱼云 游客2020-04-1038楼 回复
免费下载吗
网友昵称:墨倾
墨倾 游客2020-04-1039楼 回复
谢谢大佬
网友昵称:666
666 游客2020-04-1040楼 回复
6666
网友昵称:苏梓倾
苏梓倾 游客2020-04-1041楼 回复
666
网友昵称:鑫宇
鑫宇 游客2020-04-1142楼 回复
优秀.我来支持一下
网友昵称:12588
12588 游客2020-04-1243楼 回复
0
网友昵称:luoshao
luoshao 游客2020-04-1244楼 回复
支持文曦
网友昵称:小鬼
小鬼 游客2020-04-1345楼 回复
支持正版
网友昵称:木名
木名 游客2020-04-1346楼 回复
必须的
网友昵称:益
游客2020-04-1347楼 回复
111144
网友昵称:yudada
yudada 游客2020-04-1448楼 回复
文章不错,写的很好!
网友昵称:叽咕
叽咕 游客2020-04-1549楼 回复
支持支持
网友昵称:茗木
茗木 游客2020-04-1550楼 回复
666666
网友昵称:小夏
小夏 游客2020-04-1651楼 回复
4646
网友昵称:54
54 游客2020-04-1652楼 回复
6666666
网友昵称:a
a 游客2020-04-1653楼 回复
6666
网友昵称:滚
游客2020-04-1754楼 回复
没啥卵用
网友昵称:村姑
村姑 游客2020-04-1755楼 回复
111211234
网友昵称:a八月云
a八月云 协作者2020-04-1856楼 回复
支持下大佬
网友昵称:Auschi
Auschi 游客2020-04-1957楼 回复
看看大佬~
网友昵称:wangxin
wangxin 游客2020-04-2058楼 回复
支持
网友昵称:爸爸
爸爸 游客2020-04-2059楼 回复
6666666
网友昵称:天空
天空 游客2020-04-2060楼 回复
[B][/B]文章不错,写的很好!文章不错,写的很好!文章不错,写的很好!文章不错,写的很好!文章不错,写的很好!
网友昵称:Luociqvq
Luociqvq 游客2020-04-2061楼 回复
看看大佬
网友昵称:萝卜
萝卜 游客2020-04-2262楼 回复
谢谢大佬
网友昵称:八月
八月 游客2020-04-2263楼 回复
感谢
网友昵称:dove
dove 游客2020-04-2264楼 回复
拿走了
网友昵称:2131
2131 游客2020-04-2265楼 回复
132
网友昵称:企鹅
企鹅 游客2020-04-2366楼 回复
sa'da[B][/B]
网友昵称:豆豆
豆豆 游客2020-04-2367楼 回复
嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨
网友昵称:秀儿
秀儿 游客2020-04-2368楼 回复
可以可以
网友昵称:不上武大不改名
不上武大不改名 协作者2020-04-2469楼 回复
6366666
网友昵称:你几级
你几级 游客2020-04-2570楼 回复
免费的吗邪恶
网友昵称:乐公
乐公 游客2020-04-2671楼 回复
谢谢分享了,支持一下
网友昵称:三年级学姐
三年级学姐 游客2020-05-0272楼 回复
6666666
网友昵称:不上武大不改名
不上武大不改名 协作者2020-05-0273楼 回复
菲亚特脱衣服
网友昵称:名木
名木 游客2020-05-0274楼 回复
666666
网友昵称:小栗
小栗 游客2020-05-0275楼 回复
。。。。。。。 。。。
网友昵称:知心
知心 游客2020-05-0376楼 回复
支持一下
网友昵称:嘻哈
嘻哈 游客2020-05-0377楼 回复
感谢分享
网友昵称:niupi
niupi 游客2020-05-0378楼 回复
不错不错拿走了谢谢分享
网友昵称: 
  协作者2020-05-0379楼 回复
66666666666666
网友昵称:文案翁多
文案翁多 游客2020-05-0380楼 回复
wedad
网友昵称:傻逼
傻逼 游客2020-05-0381楼 回复
支持支持
网友昵称:安杰
安杰 游客2020-05-0482楼 回复
偷走
网友昵称:侏罗纪
侏罗纪 游客2020-05-0583楼 回复
123123123
网友昵称:xiaohei
xiaohei 游客2020-05-0584楼 回复
666MEIMAOB
网友昵称:212121
212121 游客2020-05-0685楼 回复
2333333333333333333
网友昵称:999
999 游客2020-05-0886楼 回复
999
网友昵称:6666
6666 游客2020-05-1187楼 回复
666666
网友昵称:ghg
ghg 游客2020-05-1188楼 回复
gggg
网友昵称:八月
八月 游客2020-05-1189楼 回复
感谢分享
网友昵称:买买买
买买买 游客2020-05-1390楼 回复
[B][/B]真好看好看好看
网友昵称:孙多磊
孙多磊 协作者2020-05-1391楼 回复
6666
网友昵称:是是是
是是是 游客2020-05-1392楼 回复
[B][/B]
网友昵称:66
66 游客2020-05-1493楼 回复
66666666
网友昵称:在路上
在路上 游客2020-05-1594楼 回复
我只看看,什么也不做!
网友昵称:文喜
文喜 游客2020-05-1695楼 回复
赞、狂赞、超赞、不得不赞、史上最赞!
网友昵称:5555
5555 游客2020-05-2196楼 回复
[U][/U]
网友昵称:文曦姐姐
文曦姐姐 游客2020-05-2297楼 回复
我是文曦,我为自己代言
网友昵称:LightsHan
LightsHan 游客2020-05-2398楼 回复
谢谢~文章不错,写的很好!
网友昵称:HAO LI
HAO LI 协作者2020-05-2499楼 回复
赞、狂赞、超赞、不得不赞、史上最赞!
网友昵称:天使
天使 游客2020-05-25100楼 回复
学习