网络验证:【原创】利用WordPress + Zibll(本站)用户信息验证APP用户会员
引言
前两天突然想给自己某些个APP或者各种小程序加个使用门槛(想恰烂钱了),找了一天的免费网络验证,易如意,U验证这些拿来搭建,使用的效果都不理想(白嫖失败),达不到自己的要求:一账号多APP使用,方便注册和可充值的会员系统。猛然想到自己的博客站不就有这样的功能吗?
于是废话不多说直接就开写。
正文
查询信息
首先尝试登陆后,拿token通过请求方式到用户页面获取,结果啥都没有(不知道是不是我太菜了),只有找到了用户名、昵称、邮箱、注册时间等信息(对我来说没有太大用)
看来会员信息不是那么容易找到直接扒数据库,看来就是这了:
写查询语句:
SELECT * FROM wp_users LEFT JOIN (SELECT * FROM wp_usermeta WHERE meta_key in('vip_exp_date','vip_level')) as meta ON wp_users.id = meta.user_id WHERE wp_users.user_login='admin' ORDER BY meta.meta_key
构建API接口
利用编写API接口:
请求成功
添加请求信息门槛(验证用户名和密码)
先关闭人机验证,否则以我的辣鸡实力过不了请求登录
拦截登录请求,php复现
请求成功
试用
在EasyClick框架编写js代码
效果不错
接口及案例代码
使用时记得修改31行登录页面地址为自己的,后台人机验证关闭
/**
* WordPress + zibll 获取VIP信息(用户名+会员等级+时间)
* @Author s1wei QQ:78456989
* @Blogs https://www.denceun.com/archives/author/1
* @param Api_Url Api登录页面(不加参数值)
* @param username 账号
* @param password 密码
* @return Info(用户VIP信息)
*/
function Get_Vip_Info(Api_Url, username, password) {
// 请求地址
let url = Api_Url + 'username=' +username + '&password=' + password
let Info = http.httpGetDefault(url, 10 * 1000,null)
if (Info) {
return Info
} else
return false
}
/**
* WordPress + zibll 获取VIP信息(用户名+会员等级+时间)
* @Author s1wei QQ:78456989
* @Blogs https://www.denceun.com/archives/author/1
* @param Api_Url Api登录页面(不加参数值)
* @param username 登录用户名
* @param password 登录密码
* @return vip_level(会员等级)
*/
function Login(Api_Url, username, password) {
// 获取登录结果(用户名)
let Info = Get_Vip_Info(Api_Url, username, password)
if (Info.indexOf("错误") > 0) {
logd(Info)
return false
} else {
let name = JSON.parse(Info)['display_name']
let vip_level = JSON.parse(Info)['vip_level']
let vip_exp_date = JSON.parse(Info)['vip_exp_date']
switch (vip_level) {
case "0" :
vip_level = '普通会员'
logi('用户' + name + '、您是:' + vip_level + '。到期时间为' + vip_exp_date)
return vip_level
case "1" :
vip_level = '黄金会员'
logi('用户' + name + '、您是尊贵的:' + vip_level + '。到期时间为' + vip_exp_date)
return vip_level
case "2" :
vip_level = '钻石会员'
logi('用户' + name + '、您是尊贵的:' + vip_level + '。到期时间为' + vip_exp_date)
return vip_level
default:
logd("未知用户")
return false
}
}
}
function main() {
let Api_Url = 'https://www.denceun.com/api/api.php?'
// 定义用户名密码
let username = 'www.denceun.cn'
let password = 'www.denceun.com'
// 从 UI配置 获取用户名密码
// let username = readConfigString("username")
// let password = readConfigString("password")
let results = Login(Api_Url, username, password)
switch (results) {
case '普通会员':
logd("执行普通会员代码")
// ......
break;
case '黄金会员':
logd("执行黄金会员代码")
// ......
break;
case '钻石会员':
logd("执行钻石会员代码")
// ......
break;
default:
logd("什么鬼...")
}
}
main()
import requests
import json
def get_vip_info(api_url, username, password):
url = api_url + 'username=' + username + '&password=' + password
response = requests.get(url, timeout=10)
if response.status_code == 200:
return response.text
else:
return False
def login(api_url, username, password):
info = get_vip_info(api_url, username, password)
if "错误" in info:
print(info)
return False
else:
data = json.loads(info)
name = data['display_name']
vip_level = data['vip_level']
vip_exp_date = data['vip_exp_date']
if vip_level == "0":
vip_level = '普通会员'
print(f'用户{name}、您是:{vip_level}。到期时间为{vip_exp_date}')
return vip_level
elif vip_level == "1":
vip_level = '黄金会员'
print(f'用户{name}、您是尊贵的:{vip_level}。到期时间为{vip_exp_date}')
return vip_level
elif vip_level == "2":
vip_level = '钻石会员'
print(f'用户{name}、您是尊贵的:{vip_level}。到期时间为{vip_exp_date}')
return vip_level
else:
print("未知用户")
return False
def main():
api_url = 'https://www.denceun.com/api/api.php?'
# 定义用户名密码
username = 'www.denceun.cn'
password = 'www.denceun.com'
# 从 UI配置 获取用户名密码
# username = readConfigString("username")
# password = readConfigString("password")
results = login(api_url, username, password)
if results == '普通会员':
print("执行普通会员代码")
# ......
elif results == '黄金会员':
print("执行黄金会员代码")
# ......
elif results == '钻石会员':
print("执行钻石会员代码")
# ......
else:
print("什么鬼...")
if __name__ == '__main__':
main()
阅读剩余
版权声明:
作者:admin
链接:https://www.denceun.com/archives/306
文章版权归作者所有,未经允许请勿转载。
THE END