Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jiayouzl/python_web_auth

Repository files navigation

极简网络验证Python3版

一款轻量级的网络验证服务端应用程序,基于JSON改造的数据库,免去部署MySQL等数据库的烦恼,实现快速部署上线生产的目的。

后台管理界面预览

Empty interface Empty interface

简介

之前网上乱转看到一篇文章在介绍Sanic这款Python3的Web应用框架,看着介绍挺不错,就有了大家现在看到的这款我用来练手作品。

如要直接外网访问将.env配置文件中HOST改为0.0.0.0利用Sanic自带服务端用于生产环境(Sanic框架官方允许这样做),但是不建议这样做,强烈建议使用Nginx反向代理。

这款网络验证要优化的地方还是很多的,后续我会对该项目慢慢进行升级优化。

使用前务必阅读.env配置文件中的相关参数说明。

后续优化准备规划删除线代表已完成

  • (削除) 验证相关类接口加密返回数据 (削除ここまで)
  • (削除) 登陆验证接口安全认证 (削除ここまで)
  • (削除) 后台管理在增加一些常用功能 (削除ここまで)
  • (削除) 增加使用DEMO (削除ここまで)

接口文档

机器码注册

curl --request POST \
 --url http://domain:8081/reg \
 --data '{
	"machineCode": "12345abcde"
}'

机器码验证

2022年09月28日更新增加接口签名认证,POST需带上header协议头并增加2个参数,详细参考/demo/python3/demo.py代码。
curl --request POST \
 --url http://domain:8081/login \
 --header 'sign: 7272d8673cc676d594cda7aea94ca84f' \
 --header 'timestamp: 1664210885' \
 --data '{
	"machineCode": "12345abcde"
}'

机器码充值

curl --request POST \
 --url http://domain:8081/recharge \
 --data '{
 "machineCode": "12345abcde",
 "card_number": "20220915RWLLG",
 "card_password": "OGPVQZSV"
}'

后台管理(默认账号:admin 默认密码:admin888)

http://domain:8081/admin/login

开发环境

  1. macOS 12.6 / Ubuntu Desktop 22.04
  2. Python 3.9.14
  3. VS Code 1.71.2 / PyCharm 2022年2月2日
  4. Sanic 22.6.2

文件说明

├── .env 应用配置文件
├── app.py Web路由相关
├── db.json JSON数据库文件
├── error.log 错误日志
├── requirements.txt 依赖组件库
├── templates 静态模版目录
│  ├── base.html 后台管理UI头文件
│  ├── card_info.html 充值卡管理
│  ├── login.html 管路员登录
│  ├── static 第三方js库目录
│  └── user_info.html 机器码管理
├── Dockerfile docker Dockerfile文件
├── aes_model.py AEC加解密类
└── verification_model.py 网络验证核心库类

安装&运行

本地克隆运行方式(Python≥3.7)

docker运行方式

git clone https://github.com/jiayouzl/python_web_auth.git
# docker怎么安装?百度或谷歌吧~
cd python_web_auth
# 编译镜像
docker build -t wlyz:v1 .
# 运行镜像(~/python3/docker_volumes/wlyz_data改为你自己的路径)
# 1.把[database]目录下的[db.json]文件先拷贝至[~/python3/docker_volumes/wlyz_data]目录下。
# 2.把根目录下的[.env]文件先拷贝至[~/python3/docker_volumes]目录下。
docker run --name wlyz -p 8081:8081 -itd -v ~/python3/docker_volumes/wlyz_data:/app/database:rw -v ~/python3/docker_volumes/.env:/app/.env:rw --restart=always wlyz:v1
# 测试访问(这个内网IP是我自己的,可能与你的不同,自行查找自己的内网IP地址)
http://192.168.5.100:8081

更新记录

2022年10月02日

  1. 增加后台充值卡批量复制导出功能。

2022年09月29日

  1. 增加认证接口签名加密认证。
  2. 增加认证接口结果加密返回,杜绝结果本地重写规则破解方式。

2022年09月25日

  1. 增加Python3的DEMO。/demo/python3/demo.py
  2. 其他语言DEMO后续新增,也可参考curl样板进行自行修改。

2022年09月22日

  1. 增加Dockerfile,我都写好了,直接编译镜像即能以docker方式运行。

交流群组

进QQ群验证问答

问:这是什么?
答:网络验证

Python3网络验证交流群

QQ群二维码

License

MIT

About

基于Python3开发的一款网络验证系统

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /