🌐
经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用
点我优惠购买
🚀
拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多
点我优惠购买
🛡️
稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少
点我优惠购买

还在担心网上下的程序有后门 还在为源码有木马发愁吗 AI虎哥放大招 开源程序首创发布 全部源码全明文注释 随便查杀 给大家随心二开使用
> 版权所有 (C) 3se.cc三色资源网
> 作者QQ: 282865654
域名授权验证系统是一个用于控制网站授权使用的解决方案,包含验证服务器和客户端两部分。通过本系统,您可以管理多个域名的授权状态,未授权的访问将被拦截并展示自定义信息或重定向到指定页面。
## 功能特点
- **多平台支持**:提供PHP和JavaScript两种客户端实现
- **安全可靠**:使用密钥验证和签名机制确保验证过程安全
- **自定义提示**:可自定义未授权访问的提示信息和跳转链接
- **内存缓存**:使用会话存储减少验证请求,提高性能
- **实时控制**:可随时在管理面板添加、编辑或删除授权域名
- **强制刷新**:支持通过URL参数强制刷新验证状态
## 系统架构
### 服务器端(验证服务器)
- 提供Web管理界面用于添加、编辑和删除授权域名
- 提供API接口供客户端验证授权状态
- 存储授权信息和签名密钥
- 记录验证请求和系统操作日志
### 客户端(被验证网站)
- 向验证服务器发送验证请求
- 缓存验证结果减少服务器压力
- 根据验证结果执行相应操作(显示网站内容、显示错误信息或重定向)
## 安装指南
### 服务器端安装
1. **上传文件**
- 将`auth_server`目录上传到您的网站根目录
2. **初始化系统**
- 访问`httPs://your-domain.com/auth_server/setup.php`创建必要的目录和文件
- 初始化完成后,您会看到"设置完成!"的提示
3. **配置管理员密码**
- 编辑`auth_server/config.php`文件
- 修改`admin_passWord`为您自己的强密码
4. **设置目录权限**
- 确保`auth_server/storage`目录可写:`chmod -R 755 auth_server/storage`
### 客户端安装
#### PHP客户端安装(推荐)
1. **上传客户端文件**
- 将`auth_client.php`上传到您的网站根目录
2. **配置客户端**
- 编辑`auth_client.php`
- 修改`key`为从管理面板获取的域名密钥
- 修改`api_url`为您的验证服务器API地址
```
3. **集成到网站**
- 在您网站的入口文件(通常是index.php)的最顶部添加:
#### JavaScript客户端安装
1. **上传客户端文件**
- 将`auth_client.js`上传到您的网站目录
2. **配置客户端**
- 编辑`auth_client.js`
- 修改配置信息:
3. **集成到网站**
- 在您网站的HTML头部添加:
## 使用指南
### 管理面板使用
1. **访问管理面板**
- 浏览器访问`https://your-domain.com/auth_server/`
- 使用您在config.php中设置的密码登录
2. **添加授权域名**
- 点击"添加新域名"表单
- 输入域名(不含http://或https://)
- 可选设置未授权跳转URL和提示信息
- 点击"添加域名"按钮
3. **管理授权域名**
- 在域名列表中可以查看所有已授权域名
- 使用"编辑"按钮修改域名的跳转URL和提示信息
- 使用"删除"按钮移除域名授权
### 客户端使用技巧
1. **强制刷新验证**
- 访问`https://your-website.com/?auth_check=1`可强制重新验证
- PHP客户端和JavaScript客户端都支持此参数
2. **JavaScript客户端高级用法**
- 通过控制台调用`AuthClient.refresh()`手动刷新验证
- 使用`AuthClient.toggleDebug()`切换调试模式查看详细日志
## 常见问题
### 域名验证失败
**问题**:已在管理面板添加域名,但仍然显示未授权
**解决方案**:
1. 检查客户端配置的密钥是否正确
2. 确认域名格式完全一致(www和非www被视为不同域名)
3. 确保验证服务器API地址正确且可访问
4. 尝试使用`?auth_check=1`参数强制刷新验证
5. 确认服务器和客户端的系统时间是否同步
### 验证结果未更新
**问题**:在管理面板更改了域名设置,但客户端行为未更新
**解决方案**:
1. 由于缓存机制,更改可能需要等待缓存过期(默认1小时)
2. 使用`?auth_check=1`参数强制刷新验证
3. JavaScript客户端可通过控制台调用`AuthClient.refresh()`刷新
4. PHP客户端可删除或重置会话:`session_start(); unset($_SESSION['auth_validation']);`
### 服务器端安全提示
1. 使用HTTPS协议确保通信安全
2. 使用强密码保护管理面板
3. 定期检查日志文件识别异常访问
4. 限制`auth_server/storage`目录的访问权限
5. 考虑使用IP白名单限制管理面板访问
## 高级定制
### 自定义消息样式
**PHP客户端**:编辑handleValidationResult函数中的HTML和CSS
**JavaScript客户端**:修改STYLES对象中的样式定义
### 验证失败行为自定义
您可以根据需要修改客户端验证失败时的行为:
- 自定义显示时间
- 添加自定义错误页面
- 集成网站特定的错误处理流程
### 扩展功能建议
1. **数据库支持**:替换文件存储,支持更大规模的域名管理
2. **用户管理**:添加多管理员支持,分配不同权限
3. **API密钥轮换**:定期更新密钥增强安全性
4. **验证监控**:添加邮件通知功能,监控异常验证请求
文章版权声明:除非注明,否则均为AI虎哥的工具库原创文章,转载或复制请以超链接形式并注明出处。



还没有评论,来说两句吧...