美文网首页
阿里行为检测接入

阿里行为检测接入

作者: 无聊的电风扇 | 来源:发表于2020-10-29 14:41 被阅读0次

    没找到composer地址

    下载php的sdk

    require_once aliyun-php-sdk-core/Config.php;
    use DefaultProfile;
    use DefaultAcsClient;
    

    前端文档

    https://help.aliyun.com/document_detail/121898.html?spm=5176.2020520162.0.0.e8535fb0HR99Zv

    示例代码

    <html>
    <head>
        <meta charset="utf-8"/>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
        <!--适用于主要访问来自中国内地地区用户的业务场景-->
        <script type="text/javascript" charset="utf-8" src="//g.alicdn.com/sd/nch5/index.js?t=2015052012"></script>
        <!--适用于主要访问来自非中国内地地区用户的业务场景-->
        <!-- <script type="text/javascript" charset="utf-8" src="//aeis.alicdn.com/sd/nch5/index.js?t=2015052012"></script> -->
    </head>
    <body>
        <div id="__nc" style="margin-left:auto;margin-right:auto;width:80%;height:100px;padding-top:100px;">
            <div id="nc"></div>
        </div>
        <script>  
        var nc_token = ["CF_APP_1", (new Date()).getTime(), Math.random()].join(':');
        var nc=NoCaptcha.init({
            //声明滑动验证需要渲染的目标元素ID。
            renderTo: '#nc',
            //应用类型标识。它和使用场景标识(scene字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的appkey字段值,请务必正确填写。
            appkey: 'CF_APP_1', 
            //使用场景标识。它和应用类型标识(appkey字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的scene值,请务必正确填写。
            scene: 'register',
            //滑动验证码的主键,请勿将该字段定义为固定值。确保每个用户每次打开页面时,其token值都是不同的。系统默认的格式为:”您的appkey”+”时间戳”+”随机数”。
            token: nc_token,
            //业务键字段,可为空。为便于线上问题的排查,建议您按照线上问题定位文档中推荐的方法配置该字段值。
            trans: {"key1": "code0"},
            //语言,默认值为cn(中文)。HTML5应用类型默认支持简体中文、繁体中文、英文语言。
            language: "cn",
            //内部网络请求的超时时间。一般情况建议保持默认值(10000ms)。
            timeout: 10000,
            //允许服务器超时重复次数,默认5次。
            retryTimes: 5,
            //验证通过后,验证码组件是否自动隐藏,默认不隐藏(false)。
            bannerHidden:false,
            //是否默认不渲染,默认值false。当设置为true时,不自动渲染,需要自行调用show方法进行渲染。
            initHidden:false,
            //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将请求标识(token)、会话ID(sessionid)、签名串(sig)字段记录下来,随业务请求一同发送至您的服务端调用验签。
            callback: function (data) {
                window.console && console.log(nc_token)
                window.console && console.log(data.csessionid)
                window.console && console.log(data.sig)
            },
            error: function (s) {
            }
        });
        NoCaptcha.setEnabled(true);
    //请务必在此处调用一次reset()方法。
    nc.reset(); 
    //用于配置滑动验证的自定义文案。详细信息,请参见自定义文案与多语言文档。
    NoCaptcha.upLang('cn', {
            //加载状态提示。
            'LOADING':"加载中...", 
            //等待滑动状态提示。
            'SLIDER_LABEL': "请向右滑动验证", 
            //验证通过状态提示。
            'CHECK_Y':"验证通过", 
            //验证失败触发拦截状态提示。
            'ERROR_TITLE':"非常抱歉,这出错了..." 
        });
        </script>
    </body>
    </html>
    

    部署成功后,进行验证,阿里会返还三个参数,签名,token,sessionid,把这三个参数发给后台,进行后台验签
    后台

    $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "阿里云appkeyid", "阿里云密钥");
            $client = new DefaultAcsClient($iClientProfile);
            DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", "afs", "afs.aliyuncs.com");
            $request = new Afs\AuthenticateSigRequest();
            $request->setSessionId($SessionId);// 会话ID。必填参数,从前端获取,不可更改。
            $request->setToken($Token);// 请求唯一表示。必填参数,从前端获取,不可更改。
            $request->setSig($Sig);// 签名串。必填参数,从前端获取,不可更改。
            $request->setScene("场景标识");// 场景标识。必填参数,从前端获取,不可更改。
            $request->setAppKey("应用类型标识");// 应用类型标识。必填参数,后端填写。
            $request->setRemoteIp($ip_address);// 客户端IP。必填参数,后端填写。
            $response = $client->getAcsResponse($request);// 返回code 100表示验签通过,900表示验签失败
            return $response->Code;
    

    相关文章

      网友评论

          本文标题:阿里行为检测接入

          本文链接:https://www.haomeiwen.com/subject/kqwkvktx.html