美文网首页vue
vue之滑块验证码

vue之滑块验证码

作者: 陨石坠灭 | 来源:发表于2018-06-05 13:48 被阅读206次
image.png

本文章采用阿里云的滑块验证,如果要使用的话,首先注册并申请appKey。

帮助文档:https://help.aliyun.com/document_detail/66318.html?spm=a2c4g.11186623.4.2.KlnLng

服务器采用python验证:https://segmentfault.com/a/1190000010594386
本文章讲的是如何在vue框架集成阿里的滑块验证,所以服务器的部分不会涉及。

好了,其实集成中最关键的就是js的加载,相关的知识请看本文章提到的另一篇文章:vue动态加载远程js完美实践

好了,新建文件no-captcha.vue,直接上代码:

<template>
    <div :id="modelName" :class="[modelName]">
        <div class="nc-container" ></div>
        <!-- <no-captcha-js src="http://g.alicdn.com/sd/ncpc/nc.js?t=2015052012" type="text/javascript" charset="utf-8" /> -->
    </div>
  
</template>

<script>

export default {

    data () {
        return {
            'appKey':'<你的appkey>',
            'modelName':'no-captcha',
            'nc_token':null,
            'lang':'cn',
            'NC_Opt':null,
        }
    },

    mounted(){ this.init(); },
    components:{
        
    },
    methods: {

        init(){
            var self = this;
            this.nc_token = [this.appKey, (new Date()).getTime(), Math.random()].join(':');
            this.NC_Opt = {
                renderTo: "#no-captcha",
                appkey: "<你的appkey>",
                scene: "nc_login",
                token: this.nc_token,
                customWidth: 300,
                trans:{"key1":"code0"},
                // elementID: ["usernameID"],
                is_Opt: 0,
                language: this.lang,
                isEnabled: true,
                timeout: 3000,
                times:5,
                apimap: {},   
                callback: function (data) { 
                    window.console && console.log(self.nc_token)
                    window.console && console.log(data.csessionid)
                    window.console && console.log(data.sig)
                    //将这三个参数在这里回调服务器的接口,进行服务器的验证
                }
            }
            $api.loadJs("http://g.alicdn.com/sd/ncpc/nc.js?t=2015052012",{
                    success(data){
                        self.generarte();
                    }
              });
                    
        },

        generarte(){
            var nc = new noCaptcha(this.NC_Opt)
            nc.upLang('cn', {
                _startTEXT: "请按住滑块,拖动到最右边",
                _yesTEXT: "验证通过",
                _error300: "哎呀,出错了,点击<a href=\"javascript:__nc.reset()\">刷新</a>再来一次",
                _errorNetwork: "网络不给力,请<a href=\"javascript:__nc.reset()\">点击刷新</a>",
            });
        }
    }
}
</script>

<style>

</style>

引入方法就是一般组件的方法,后续还有很多可以完善的地方,不过都是vue的知识,可以在网上相互借鉴。

相关文章

  • vue之滑块验证码

    本文章采用阿里云的滑块验证,如果要使用的话,首先注册并申请appKey。 帮助文档:https://help.al...

  • Python+Selenium 拖动滑块 (一)

    在我们登录账号中常常会遇到各种验证码,如图片验证码,拖动滑块验证.....滑块验证码只需要用户使用鼠标将滑块从某个...

  • 爬虫滑动验证识别 opencv-python

    前言 滑块验证码破解是一直都是一个棘手的问题,毕竟多数网站都会采用滑块验证码要搞现在的滑块验证码绕不开图像处理,图...

  • selenium:如何模拟鼠标拖放(drag and drop)

    鼠标拖放是手工常用操作,可以用于移动元素,如,用于拖放验证码滑块等,以大麦网登录界面验证码滑块为例,介绍如下: (...

  • selenium破解网易易盾滑块

    前言 之前由于工作原因做过极验验证的滑块验证码,该网站的滑块验证码是直接能提取出全图片和缺口图片,利用pillow...

  • python selenium 淘宝滑块验证码 问题

    正常打开淘宝等页面,搜索商品和滑块验证码是没有问题的,但是用selenium打开,在多次翻页后出现的滑块验证码就总...

  • Python 滑块验证码

    看了滑块验证码(滑动验证码)相比图形验证码,破解难度如何?[https://www.zhihu.com/quest...

  • 聊聊滑块验证码的识别

    很长一段时间没写文章了,今天来一篇,聊聊滑块验证码。之前一段时间在研究下滑块验证码相关的东西,拿腾讯的验证码来玩,...

  • 三行 Python 代码制作图片验证码

    现在验证码的种类真的是越来越多,短信验证码、语音验证码、图片验证码、滑块验证码 ... 我们在 PC 的网页端或者...

  • Python第三方库巧用,制作图片验证码只需三行代码

    现在验证码的种类真的是越来越多,短信验证码、语音验证码、图片验证码、滑块验证码 ... 我们在 PC 的网页端或者...

网友评论

  • 1c7:有帮助,感谢分享
  • fd7ee34dcc8c:noCaptcha是不是打错了?
    fd7ee34dcc8c:@晓乐凡 谢谢,,确实没有
    陨石坠灭:并没有,详情可以查看:https://help.aliyun.com/document_detail/66318.html?spm=a2c4g.11186623.4.2.KlnLng
  • 0c6db45b6ecc:请问一下key在哪里申请呢?
    陨石坠灭:查看文档的入门介绍 https://yundun.console.aliyun.com/?spm=a2c4g.11186623.2.6.qrwkpp&;p=afs#/person-machine

本文标题:vue之滑块验证码

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