欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP驗(yàn)證碼語(yǔ)言包預(yù)警信息通知總結(jié)示例

 更新時(shí)間:2023年08月23日 16:46:03   作者:宙哈哈  
這篇文章主要為大家介紹了PHP驗(yàn)證碼語(yǔ)言包預(yù)警信息通知總結(jié)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

最近在開發(fā)PHP驗(yàn)證碼項(xiàng)目,需要使用到不同的語(yǔ)言包和及時(shí)的預(yù)警短信通知。下面我就好好的總結(jié)一下。

語(yǔ)言包

默認(rèn)使用瀏覽器語(yǔ)言,選項(xiàng)分別有自動(dòng)(識(shí)別瀏覽器語(yǔ)言)、簡(jiǎn)體中文、繁體英文、英文。

self.lang = self.get_lang()  # 當(dāng)前頁(yè)語(yǔ)言包
def get_lang(self):
        """ 獲取語(yǔ)言包 """
        try:
            dLang = self.data.get("lang", "auto")  # 獲取應(yīng)用配置
            if dLang == "auto":  # 自動(dòng)
                dLang = self.kg.get("HTTP_ACCEPT_LANGUAGE", "zh-cn").split(',')[0].lower()  # 獲取瀏覽器語(yǔ)言,取逗號(hào)前字符且轉(zhuǎn)成小寫
                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"], {})  # 加載頁(yè)面對(duì)象
        except Exception:
            r = {}
        return r

預(yù)警信息

預(yù)警信息啟用

開啟預(yù)警信息通知,填寫通知的接收郵箱和接收手機(jī)號(hào),并設(shè)置驗(yàn)證碼的每小時(shí)預(yù)警數(shù)量。當(dāng)超過(guò)預(yù)警數(shù)量,系統(tǒng)將發(fā)送通知。

def excess(self, between=0):
        """
        請(qǐng)求/驗(yàn)證次數(shù)檢測(cè)
        :param between: [int] 0 檢測(cè)請(qǐng)求次數(shù)是否超額,1 檢測(cè)驗(yàn)簽次數(shù)是否超額,2 檢測(cè)驗(yàn)簽次數(shù)是否超額
        :return [int]: 0 正常,未超標(biāo),1 小時(shí)超標(biāo)、2 日限超標(biāo)、3 月限超標(biāo)
        """
        # 統(tǒng)計(jì)的字段名及會(huì)員組限制字段名
        field = ["request", "verify", "sign"][between]
        # 時(shí)/天/月時(shí)間戳
        ceiling = date(format="%Y%m%d%H")
        t = [numeric(ceiling), numeric(ceiling[:-2] + "00"), numeric(ceiling[:-4] + "0000")]
        # 當(dāng)前用戶組限制額 [-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

總結(jié)

最后,我大家做了個(gè)示例體驗(yàn):https://www.kgcaptcha.com/demo/,同時(shí)也把相關(guān)代碼上傳到GitHub,https://github.com/KgCaptcha。

以上就是PHP驗(yàn)證碼語(yǔ)言包預(yù)警信息通知總結(jié)示例的詳細(xì)內(nèi)容,更多關(guān)于PHP驗(yàn)證碼語(yǔ)言包信息預(yù)警的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論