开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 390|回复: 2
收起左侧

[PHP源码] 【原创】【全网首发】Github Hosts api前后端,带Key生成前后...

[复制链接]
结帖率:100% (1/1)
发表于 2023-7-15 21:07:27 | 显示全部楼层 |阅读模式   辽宁省盘锦市
本帖最后由 bzserver 于 2023-7-16 00:14 编辑
首先,我不确定在这个板块发帖对不对,如果不对请版主帮我移动至正确板块
要是赶上开源大赛那我就目标明确了,闲话我也不说了,下面是项目信息
第一大项
app.py文件说明
图例

api代码

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代码

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)
结帖率:67% (2/3)

签到天数: 6 天

发表于 2023-7-16 16:05:21 | 显示全部楼层   内蒙古自治区乌兰察布市
楼主辛苦了,谢谢楼主,感谢楼主分享,楼主好人一生平安!!!
回复 支持 反对

使用道具 举报

签到天数: 26 天

发表于 2023-7-15 22:35:32 | 显示全部楼层   云南省昆明市
感谢大佬分享  支持开源!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表