PHP验证码语言包预警信息通知总结示例

 更新时间:2023年08月23日 16:46:03   作者:宙哈哈  
这篇文章主要为大家介绍了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验证码语言包预警信息通知总结示例的详细内容,更多关于PHP验证码语言包信息预警的资料请关注脚本之家其它相关文章!

相关文章

  • laravel 实现关闭CSRF(全部关闭、部分关闭)

    laravel 实现关闭CSRF(全部关闭、部分关闭)

    今天小编就为大家分享一篇laravel 实现关闭CSRF(全部关闭、部分关闭),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • ThinkPHP3.2.2的插件控制器功能

    ThinkPHP3.2.2的插件控制器功能

    这篇文章主要介绍了ThinkPHP3.2.2最新开始支持的插件控制器功能的使用方法,非常详细,这里推荐给小伙伴们。
    2015-03-03
  • PHP执行linux命令常用函数汇总

    PHP执行linux命令常用函数汇总

    一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数。以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec,通过本文给大家介绍PHP执行linux命令常用函数汇总,需要的朋友参考下
    2016-02-02
  • PHP水印类,支持添加图片、文字、填充颜色区域的实现

    PHP水印类,支持添加图片、文字、填充颜色区域的实现

    下面小编就为大家带来一篇PHP水印类,支持添加图片、文字、填充颜色区域的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • php对数组排序代码分享

    php对数组排序代码分享

    这篇文章主要介绍了php对数组排序代码,需要的朋友可以参考下
    2014-02-02
  • php实例分享之二维数组排序

    php实例分享之二维数组排序

    PHP一维数组的排序可以用sort(),asort(),arsort()等函数,PHP二维数组的排序需要自定义。
    2014-05-05
  • Kindeditor编辑器添加图片上传水印功能(php代码)

    Kindeditor编辑器添加图片上传水印功能(php代码)

    这篇文章主要为大家详细介绍了Kindeditor编辑器加图片上传水印功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • php教程之phpize使用方法

    php教程之phpize使用方法

    phpize是用来扩展php扩展模块的,通过phpize可以建立php的模块,下面介绍一个他的使用方法,需要的朋友可以参考下
    2014-02-02
  • PHP SplObjectStorage使用实例

    PHP SplObjectStorage使用实例

    这篇文章主要介绍了PHP SplObjectStorage使用实例,SplObjectStorage是SPL标准库中的数据结构对象容器,用来存储一组对象,特别是当你需要唯一标识对象的时候,需要的朋友可以参考下
    2015-05-05
  • 网页游戏开发入门教程三(简单程序应用)

    网页游戏开发入门教程三(简单程序应用)

    用哪种组合,真的不重要。重要的是时间和成本。复杂的地方在数据的交互和完善,而不在技术或效果的实现。
    2009-11-11

最新评论