|
本帖最后由 bzserver 于 2023-7-16 00:14 编辑
首先,我不确定在这个板块发帖对不对,如果不对请版主帮我移动至正确板块
要是赶上开源大赛那我就目标明确了,闲话我也不说了,下面是项目信息
第一大项
app.py文件说明
图例
api代码
项目名称:Flask DNScha询API服务
项目简介:
本项目是一个基于Flask框架开发的后端API服务,用于进行DNS解析cha询。通过验证API密钥的有效性,该服务可以接收域名参数,并返回相应域名的IP地址列表和API密钥的剩余有效天数。此外,还使用了缓存机制来提高解析性能,并使用MySQL数据库存储和管理API密钥的有效期信息。
技术栈:
- Python
- Flask
- Flask-CORS
- dns.resolver
- MySQL Connector
功能说明:
- 身份验证:通过验证API密钥的有效性,确保只有授权用户可以使用API服务。
- DNS解析:根据传入的域名参数,使用dns.resolver模块进行DNS解析,并返回解析结果。
- 缓存机制:使用缓存字典来存储已解析的域名及其IP地址,以提高解析性能。
- 数据库管理:使用MySQL数据库存储和管理API密钥的有效期信息,包括激活日期、剩余有效天数等。
使用说明:
1. 安装依赖:使用pip安装所需的Python依赖库,包括Flask、Flask-CORS和MySQL Connector。
2. 配置数据库:根据实际情况,修改代码中的db_config变量,将其配置为正确的MySQL数据库连接信息。
3. 启动服务:运行代码,启动Flask应用程序,API服务将在本地运行,并监听默认的5000端口。
4. 身份验证:在进行API调用时,需要在请求中包含有效的API密钥,以通过身份验证。
5. 发起请求:使用HTTP GET请求访问`/dns_query`接口,传入`domain`和`key`参数,即可获取DNS解析结果和API密钥的剩余有效天数。
注意事项:
- API密钥安全性:请妥善保管API密钥,避免泄露给未授权的用户。
- 数据库安全性:确保MySQL数据库的安全性,并限制对数据库的访问权限。
- 缓存过期时间:可以根据实际需求调整缓存过期时间,以平衡性能和实时性的要求。
第二大项
PHP文件夹内是一个用于生成和管理密钥的后台管理系统。它提供了以下功能:
图例
key代码
key预览
- 生成指定数量的密钥,并设置密钥的有效期
- 导出未激活的密钥,满足指定剩余天数的条件
- 显示密钥列表,并支持对密钥进行删除操作
技术栈:
- 后端语言: PHP
- 数据库: MySQL
- 前端: HTML, CSS, JavaScript
功能说明:
1. 生成密钥:
- 用户可以在前端界面指定生成的密钥数量和激活后的有效天数
- 后端生成指定数量的密钥,并将其插入到数据库中
2. 导出未激活的密钥:
- 用户可以在前端界面指定导出的未激活密钥的剩余天数条件
- 后端cha询数据库中符合条件的未激活密钥,并将其导出为文本文件
3. 显示密钥列表:
- 后端从数据库中cha询密钥列表,并按照分页显示
- 用户可以选择某些密钥进行删除操作
4. 分页功能:
- 后端根据用户选择的每页显示记录数和当前页码,计算起始记录的索引,并从数据库中cha询相应的记录
- 前端显示分页导航栏,用户可以点击页码进行切换
5. 数据库管理:
- 后端连接到MySQL数据库,并在数据库中创建密钥表格(如果表格不存在)
- 后端检查密钥表格是否存在,并根据需要创建表格
使用说明:
1. 修改数据库连接信息:
- 打开代码文件,找到以下部分:
```
$servername = "数据库IP";
$username = "用户名";
$password = "数据库密码";
$dbname = "数据库名";
```
- 修改`$servername`、`$username`、`$password`和`$dbname`为您自己的数据库连接信息
2. 部署项目:
- 将代码文件部署到支持PHP的Web服务器上
- 确保服务器上已安装MySQL数据库,并创建了与代码中指定的数据库名称相匹配的数据库
3. 访问后台管理系统:
- 在浏览器中输入项目的URL,即可访问后台管理系统
- 您可以根据需要自定义前端界面的样式和布局,以适应您的项目需求
注意事项:
- 本项目的代码基于PHP语言开发,使用MySQL数据库进行数据存储和管理
- 在部署项目之前,请确保您已经熟悉PHP和MySQL的基本知识,并且已经正确安装和配置了相关的开发环境和工具
- 本项目提供的代码仅供参考和学习使用,您可以根据自己的需求进行修改和定制
- 在将本项目部署到生产环境之前,请确保您已经进行了适当的安全性和性能优化,并对代码进行了充分的测试和验证
第三大项
index.html是一个使用JavaScript编写的前端代码,用于处理一个DNScha询表单。以下是对代码的总结:
图例:
前端代码
前端预览
1. 代码使用了jQuery库,通过`$(document).ready()`函数在文档加载完成后执行代码。
2. 定义了一个常量`ERROR_MESSAGES`,包含了一些错误消息的文本。
3. 获取密钥输入框的元素,并添加了一个点击事件监听器。
4. 点击事件监听器会尝试从剪贴板中读取文本内容,并将内容填充到密钥输入框中。
5. 监听了密钥输入框的输入事件,并在输入时去除首尾的空格。
6. 监听了表单的提交事件,并阻止默认的表单提交行为。
7. 在表单提交事件处理程序中,获取了输入的域名和密钥。
8. 对输入进行验证,如果域名或密钥为空,则显示相应的错误消息。
9. 创建了一个加载指示器,并将其插入到结果显示区域之前。
10. 将输入的域名按换行符分割成数组。
11. 遍历每个域名,对每个域名进行处理。
12. 构建API请求的URL,并发起API请求。
13. 解析API响应数据为JSON格式。
14. 如果返回的数据中包含错误信息,则将错误信息添加到结果变量中,并中断循环。
15. 如果返回的数据中存在IP地址,则将第一个IP地址和域名构建成Hosts文件内容,并添加到结果变量中。
16. 如果无法获取IP地址,则将提示信息添加到结果变量中。
17. 如果没有API错误,则添加自定义文本和时间戳到结果变量中。
18. 创建并下载Hosts文件,如果用户确认要下载。
19. 将结果显示在页面上。
20. 最后移除加载指示器。
代码实现了一个DNScha询功能,并将cha询结果显示在页面上。同时,还提供了一些错误处理和用户交互的功能,例如从剪贴板读取密钥、显示加载指示器和下载生成的Hosts文件。
许可证:
本项目采用 [MIT许可证](https://opensource.org/licenses/MIT) 进行开源共享。
作者:
bzserver
感谢:
在此感谢所有给我评分点赞打赏的各位兄弟的支持。
附件:
前端 后端KEY.zip
(10.03 KB, 下载次数: 0)
|
|