Skip to content

🔑 PHP通用用户系统。尚未完成。

License

Notifications You must be signed in to change notification settings

ushiocheng/NyarukoLogin

 
 

Repository files navigation

NyarukoLogin 2

一个通用的用户登录系统,目标是本身作为一个服务,为外部业务系统进行服务,可多开,可负载均衡。

  • 注意:这个程序尚未做完,请勿使用。
  • 要查看旧版本代码和此处的说明,请前往 v2016_expired 分支。

开发进度

随着开发的进程,功能随时会有添加或删除。

  • 核心
    • 数据库类:封装数据库的各种查询和连接方式。
    • 安全类:各种加密方式、常用加密解密封装、通用数据格式检查等。
    • 信息类:错误代码和提示库,并封装一些提示方法。
    • 用户设置类:尽可能多的配置文件中提供详细选项。
  • 数据库
    • 封装数据库的各种查询和连接方式,实现传入键值数组就能增删改查统。
      • MySQL
      • Redis
    • 支持读写分离,读写两组数据库可单独指定。
      • 数据库类调用时自动选择建立只读数据库还是写入数据库的连接,并自动断开连接。
    • 支持负载均衡,读写可分别指定一组不同的数据库。
      • 使用 Redis 控制数据库负载均衡。
    • 支持读写数据库同时并行连接。
    • 一次连接执行多条 SQL 语句,语句执行完毕后再断开连接。
    • 支持自由指定数据库中每个表的名称。
    • 测试脚本
  • 加密传输
    • 30秒 TOTP 动态密码加密:使用 TOTP 作为服务器与客户端的动态密码种子
      • 加密令牌申请接口:客户端第一次连接时将和服务器端商定一个 TOTP 动态密码。
      • 网络延迟兼容性:可配置使用过期代码的尝试次数。
    • XXTEA 加密。
    • base64 编码变种。
    • XXTEA + base64 + TOTP + MD5 混合加密收发的数据。
    • 客户端可自主决定是否进行加密传输。
      • 明文传输测试脚本
    • 接收参数和发送参数的安全封装(包括解析、加密解密、验证访问权限等)。
    • 加密传输测试脚本
  • 访问验证
    • 支持为每个功能设定不同的接口访问频率。
    • 可设置每个 IP 地址的封禁时长。
    • 自动屏蔽高危操作的 IP 地址。
  • 敏感词屏蔽
    • 屏蔽敏感词,可处理段落时关键词(起止)
    • 封装接口,在所有用户自定义文本输入的位置应用检查
    • 可以直接回绝输入也可以用*取代。
    • 支持从 json 文件拉取词语表
    • 支持从 Redis 快速拉取词语表
    • 用于导入其他应用中的逐行 txt 词库的转换脚本
    • Redis 词语表导入导出脚本
    • 测试脚本
  • 系统日志:用于进行调试
    • 数据库日志:记录所有执行的 SQL 语句及数据库返回的结果。
    • 参数日志:记录所有收到的参数及传回客户端的参数内容。
    • 可以自定义文件位置,随时开关日志功能
    • 根据时间自动创建新的日志文件
    • 数据库包含历史记录表,记录所有的关键操作
      • 人工审核后台
  • APP式接入功能
    • 必须在数据库中注册的 APP 令牌才能访问。
    • 与外部的业务系统进行对接
    • 多个用于与外部系统交互的内置权限
    • 测试脚本
  • 文件功能
    • 图片和视频上传功能
      • 上传检查
      • 图片二压
      • 视频异步二压
    • 多媒体审核功能
    • 阿里云云服务支持
      • OSS 对象存储 API
      • VOD 视频点播 API
    • 测试脚本
  • 用户登录
    • 检查用户是否存在
    • 检查登录失败次数来决定是否需要输入验证码,并自动发放一个新的验证码
    • 检查验证码是否正确,并自动发放一个新的验证码
    • 检查用户名和密码,根据需要自动发放一个新的验证码
    • 检查账户是否异常,支持存储警告信息
    • 同一种类型的设备和全部设备可以设置同时登录上限(例如可以限制为用户手机端只能一台登)
      • 自动顶掉当前种类设备的较旧登录会话
    • 两步验证
    • 测试脚本
  • 用户资料
    • 为昵称生成唯一代码(神楽坂雅詩#5534)
    • 多元性别选项和独立称呼方式选项支持
    • 一个用户可以关联多份资料(例如注册自己的宠物)
    • 昵称,地址,签名,个人介绍 的编辑与审核
    • 头像,背景图 的编辑与审核
    • 展示相框
    • 背景图支持视频
    • 资料修改测试脚本
  • 两步验证和密码保护管理
    • 谷歌验证器
      • 创建
      • 验证
      • 解绑
      • 二维码生成器
      • 测试脚本
    • 密码提示问题
      • 创建
      • 验证
      • 解绑
      • 测试脚本
    • 恢复代码
      • 创建
      • 验证
      • 重置
      • 测试脚本
    • 短信验证码
      • 创建
      • 发送
      • 验证
      • 手机号变更
      • 测试脚本
    • 邮件验证码
      • 创建
      • 发送
      • 验证
      • 邮箱变更
      • 测试脚本
    • 实名认证
      • 身份证号格式识别
      • 外部系统校验身份证
      • 测试脚本
    • 手机、邮箱、身份证的黑名单
      • 测试脚本
    • 设置为两步验证方式
  • 用户权限
    • 内置权限
    • 权限的查询和修改接口
    • 外部自定义权限接口
  • 业务和积分
    • 业务列表
    • 为每个业务的每个用户提供积分区域
    • 为每个业务的每个用户提供积分档位和称号对应
    • 为外部系统提供积分变更接口
    • 测试脚本
  • 关注
    • 分页获取关注他人列表
    • 分页获取关注者列表
    • 识别是否关注、互相关注
    • 测试脚本
  • 黑名单
    • 拉黑他人
    • 分页获取黑名单列表
    • 检查对方是否位于黑名单
    • 检查是否位于对方黑名单
    • 根据双方黑名单提供过滤接口
    • 测试脚本
  • 站内信
    • 系统通知
    • 接收和发送用户间站内信
    • 接收来自外部系统提供的站内信(提及、评论、转发、视频完成二压等)
    • 组合相同类型通知
    • 测试脚本
  • 运维相关工具脚本

文档

请转至 Wiki

通用

处理流程

附加工具

About

🔑 PHP通用用户系统。尚未完成。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 83.6%
  • Python 11.5%
  • HTML 4.5%
  • Other 0.4%