国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

網(wǎng)易云易盾驗證碼

Scholer / 1280人閱讀

摘要:之前用的圖形驗證碼,現(xiàn)在改用網(wǎng)易云滑動驗證碼,效果如下這里基于來實現(xiàn)校驗驗證碼易盾驗證碼二次校驗構(gòu)造函數(shù)驗證碼密鑰對密鑰對發(fā)起二次校驗請求二次校驗數(shù)據(jù)用戶信息公共參數(shù)計算參數(shù)簽名密鑰對請求參數(shù)參數(shù)排序發(fā)送請求請求參數(shù)新建

之前用的圖形驗證碼,現(xiàn)在改用網(wǎng)易云滑動驗證碼,效果如下 這里基于 laravel 來實現(xiàn)

校驗驗證碼
vi AppServicesCaptchaVerifier.php
captcha_id  = $captcha_id;
        $this->secret_id = $secret_id;
        $this->secret_key = $secret_key;
    }

    /**
     * 發(fā)起二次校驗請求
     * @param $validate 二次校驗數(shù)據(jù)
     * @param $user 用戶信息
     */
    public function verify($validate, $user = "") {
        $params = array();
        $params["captchaId"] = $this->captcha_id;
        $params["validate"] = $validate;
        $params["user"] = $user;
        // 公共參數(shù)
        $params["secretId"] = $this->secret_id;
        $params["version"] = self::VERSION;
        $params["timestamp"] = sprintf("%d", round(microtime(true)*1000));// time in milliseconds
        $params["nonce"] = sprintf("%d", rand()); // random int
        $params["signature"] = $this->sign($this->secret_key, $params);

        $result = $this->send_http_request($params);
        return array_key_exists("result", $result) ? $result["result"] : false;
    }

    /**
     * 計算參數(shù)簽名
     * @param $secret_key 密鑰對key
     * @param $params 請求參數(shù)
     */
    private function sign($secret_key, $params){
        ksort($params); // 參數(shù)排序
        $buff="";
        foreach($params as $key=>$value){
            $buff .=$key;
            $buff .=$value;
        }
        $buff .= $secret_key;
        return md5($buff);
    }

    /**
     * 發(fā)送http請求
     * @param $params 請求參數(shù)
     */
    private function send_http_request($params){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, self::API_URL);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, self::API_TIMEOUT);
        curl_setopt($ch, CURLOPT_TIMEOUT, self::API_TIMEOUT);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));

        /*
         * Returns TRUE on success or FALSE on failure. 
         * However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure.
         */
        $result = curl_exec($ch);
        // var_dump($result);
        
        if(curl_errno($ch)){
            $msg = curl_error($ch);
            curl_close($ch);
            return array("error"=>500, "msg"=>$msg, "result"=>false);
        }else{
            curl_close($ch);
            return json_decode($result, true);  
        }
    }
}
新建 ServiceProvider
vi AppProvidersCaptchaServiceProvider.php
app["validator"]->extend("captcha", function($attribute, $value, $parameters)
        {
            return (new CaptchaVerifier(config("captcha.captcha.CAPTCHA_ID"),config("captcha.captcha.SECRET_ID"),config("captcha.captcha.SECRET_KEY")))->verify($value);
        });
    }

    /**
     * Register any application services.
     *
     * This service provider is a great spot to register your various container
     * bindings with the application. As you can see, we are registering our
     * "Registrar" implementation here. You can add your own bindings too!
     */
    public function register()
    {
        
    }
    
}

vi config/app.php

"providers" => [
 "AppProvidersCaptchaServiceProvider",
]
vi config/captcha.php
#聯(lián)系商務(wù)獲取秘鑰
"captcha"=>[
  "CAPTCHA_ID" => "xxxxx",
  "SECRET_ID" => "xxxxx",
  "SECRET_KEY" => "xxxxx",
]
調(diào)用
use IlluminateHttpRequest;

public function postLogin($q Request){
        $this->validate($q, [
            "captcha" => "required|captcha",
        ]);
       return response()->json(["code" => "200", "msg" => "success"])
}

文檔地址
demo
類似的極驗驗證碼

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/90141.html

相關(guān)文章

  • 網(wǎng)易易盾驗證

    摘要:之前用的圖形驗證碼,現(xiàn)在改用網(wǎng)易云滑動驗證碼,效果如下這里基于來實現(xiàn)校驗驗證碼易盾驗證碼二次校驗構(gòu)造函數(shù)驗證碼密鑰對密鑰對發(fā)起二次校驗請求二次校驗數(shù)據(jù)用戶信息公共參數(shù)計算參數(shù)簽名密鑰對請求參數(shù)參數(shù)排序發(fā)送請求請求參數(shù)新建 之前用的圖形驗證碼,現(xiàn)在改用網(wǎng)易云滑動驗證碼,效果如下 這里基于 laravel 來實現(xiàn) showImg(https://segmentfault.com/img/b...

    davidac 評論0 收藏0
  • 手機app有了短信驗證還有沒必要有圖片驗證

    摘要:以網(wǎng)易云易盾的驗證碼產(chǎn)品為例行為驗證碼具備運用大數(shù)據(jù)分析和機器學(xué)習(xí)模型進行優(yōu)化升級的特點。路徑可以理解為驗證碼展示用戶行為分析機器人學(xué)習(xí)返回驗證結(jié)果機器模型升級的循環(huán),保證了網(wǎng)易云易盾行為式驗證碼的不斷迭代升級。 當(dāng)然有必要,這里我們來聊一個惡意短信驗證的案例,通過這個案例我們就能更好理解短信驗證碼和圖片驗證碼這兩者的關(guān)系了。 討論防止惡意短信驗證之前,我們先來看看什么是惡意短信驗證及...

    leejan97 評論0 收藏0
  • 網(wǎng)易易盾發(fā)布多國家多語種內(nèi)容安全服務(wù),助力中國互聯(lián)網(wǎng)出海

    摘要:在年,網(wǎng)易云易盾所服務(wù)的諸多客戶也陸續(xù)推出海外版產(chǎn)品,為更好地助力中國互聯(lián)網(wǎng)出海,易盾近日發(fā)布支持海外產(chǎn)品的多語言多民族內(nèi)容安全服務(wù),對英語泰語馬來語印尼語等海外語種地區(qū)提供策略支持。點擊免費體驗網(wǎng)易云易盾內(nèi)容安全解決方案。 中國互聯(lián)網(wǎng)企業(yè)迎來大航海時代,越來越多的中國互聯(lián)網(wǎng)產(chǎn)品走向海外,特別是東南亞的印尼、泰國等移動互聯(lián)網(wǎng)新興市場。據(jù)《中國移動互聯(lián)網(wǎng)出海環(huán)境全揭秘報告》,2017年Q...

    JowayYoung 評論0 收藏0
  • 如何通過人工智能“避開”內(nèi)容安全的“坑”?

    摘要:人工智能技術(shù)的初步應(yīng)用隨著網(wǎng)絡(luò)強國戰(zhàn)略思想加強網(wǎng)絡(luò)內(nèi)容建設(shè)等指導(dǎo)思想的推出和強化,內(nèi)容安全已經(jīng)成為互聯(lián)網(wǎng)企業(yè)生存和發(fā)展的生命線。 歡迎訪問網(wǎng)易云社區(qū),了解更多網(wǎng)易技術(shù)產(chǎn)品運營經(jīng)驗。 10月16日,2018年 AIIA人工智能開發(fā)者大會在蘇州舉辦。會議邀請了國內(nèi)外人工智能產(chǎn)業(yè)知名人物、國家政府主管部門、行業(yè)內(nèi)頂尖企業(yè)、知名學(xué)者代表、開源社區(qū)優(yōu)秀貢獻團隊及個人,共同交流了技術(shù)現(xiàn)狀趨勢、生態(tài)...

    _DangJin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<