PHP验证码的语言包&预警信息通知总结
2023/3/10 23:22:02
本文主要是介绍PHP验证码的语言包&预警信息通知总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
开头的话
最近在开发PHP验证码项目,需要使用到不同的语言包和及时的预警短信通知。下面我就好好的总结一下。
语言包
默认使用浏览器语言,选项分别有自动(识别浏览器语言)、简体中文、繁体英文、英文。
self.lang = self.get_lang() # 当前页语言包 def get_lang(self): """ 获取语言包 """ try: dLang = self.data.get("lang", "auto") # 获取应用配置 if dLang == "auto": # 自动 dLang = self.kg.get("HTTP_ACCEPT_LANGUAGE", "zh-cn").split(',')[0].lower() # 获取浏览器语言,取逗号前字符且转成小写 if dLang == "zh-hk": dLang = "zh-tw" if dLang in ("en-us", "en-gb"): dLang = "en" if not exists(url_absolute(f"config/language/{dLang}.py")): dLang = "zh-cn" r = import_module(f'config.language.{dLang}').lang.get(self.kg["PY_SELF"], {}) # 加载页面对象 except Exception: r = {} return r
复制
预警信息
预警信息启用
开启预警信息通知,填写通知的接收邮箱和接收手机号,并设置验证码的每小时预警数量。当超过预警数量,系统将发送通知。
def excess(self, between=0): """ 请求/验证次数检测 :param between: [int] 0 检测请求次数是否超额,1 检测验签次数是否超额,2 检测验签次数是否超额 :return [int]: 0 正常,未超标,1 小时超标、2 日限超标、3 月限超标 """ # 统计的字段名及会员组限制字段名 field = ["request", "verify", "sign"][between] # 时/天/月时间戳 ceiling = date(format="%Y%m%d%H") t = [numeric(ceiling), numeric(ceiling[:-2] + "00"), numeric(ceiling[:-4] + "0000")] # 当前用户组限制额 [-1, -1, 9000] group_limit = json2dict(self.data[field]) for i in range(0, 3): if group_limit[i] != -1: count = self.db.list( table="statistics", field=f'SUM(`{field}`) as rSUM', where=f'`uid` = {self.data["uid"]} && `time` >= {t[i]}', limit=1, shift=1, )["rSUM"] if count > group_limit[i]: return i + 1 return 0
复制
总结
最后,我大家做了个示例体验:https://www.kgcaptcha.com/demo/,同时也把相关代码上传到GitHub,https://github.com/KgCaptcha。
这篇关于PHP验证码的语言包&预警信息通知总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享