全新人機(jī)驗(yàn)證方式,高效攔截機(jī)器行為,業(yè)務(wù)安全第一道防線。
互聯(lián)網(wǎng)50%以上的流量都來(lái)自機(jī)器,行為驗(yàn)證本質(zhì)上是利用生物行為特征模型進(jìn)行人機(jī)識(shí)別,用在注冊(cè)登錄、防刷紅包優(yōu)惠券、數(shù)據(jù)反爬等各種調(diào)用接口的場(chǎng)景。
滑動(dòng)驗(yàn)證碼對(duì)機(jī)器的判斷,不只是完成拼圖,前臺(tái)用戶(hù)是看不見(jiàn)的——后臺(tái)針對(duì)用戶(hù)產(chǎn)生的行為軌跡數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)建模,結(jié)合設(shè)備指紋信息、IP風(fēng)險(xiǎn)、訪問(wèn)頻率、地理位置、歷史記錄等多個(gè)維度信息,快速、準(zhǔn)確的返回人機(jī)判定結(jié)果。
所以滑塊結(jié)束后,會(huì)把相應(yīng)的信息以字段拼接的形式,發(fā)送給后臺(tái)校驗(yàn),后臺(tái)得出一個(gè)結(jié)果后返回前臺(tái),是不是允許繼續(xù)。
vue上使用demo1,luosimao人機(jī)驗(yàn)證,免費(fèi)
1.先封裝一個(gè)組件ValidateCaptcha,供引入使用
<template>
<div class="l-captcha" data-site-key="e11777fac0ab293290c12b91484c7a4f" data-callback="getResponse" data-width="100%"></div>
</template>
<script>
export default {
name: 'validateCaptcha',
methods: {
dynamicLoadJs: function (url, callback) {
var head = document.getElementsByTagName('head')[0]
var script = document.createElement('script')
script.type = 'text/javascript'
script.src = url
if (typeof callback === 'function') {
script.onload = script.onreadystatechange = function () {
if (
!this.readyState ||
this.readyState === 'loaded' ||
this.readyState === 'complete'
) {
callback()
script.onload = script.onreadystatechange = null
}
}
}
head.appendChild(script)
}
},
created () {
const self = this
this.dynamicLoadJs('//captcha.luosimao.com/static/dist/api.js')
window.getResponse = (resp) => {
var els = document.getElementsByName('luotest_response')
if (els.length === 1 && els[0].value === resp) {
self.$emit('getValidateRes', resp)
} else {
LUOCAPTCHA && LUOCAPTCHA.reset()
}
}
}
}
</script>
2.使用地方調(diào)用
<template>
<div>
<el-form label-width="90px" :model="formLabelAlign" style="width: 500px">
<el-form-item label="用戶(hù)名">
<el-input v-model="formLabelAlign.username"></el-input>
</el-form-item>
<el-form-item label="密碼">
<el-input v-model="formLabelAlign.password"></el-input>
</el-form-item>
<el-form-item label="滑動(dòng)驗(yàn)證">
<validate-captcha @getValidateRes="getValidateRes"></validate-captcha>
</el-form-item>
</el-form>
</div>
</template>
<script>
import ValidateCaptcha from '@/components/captcha/validateCaptcha'
import axios from 'axios'
export default {
name: 'captcha',
components: { ValidateCaptcha },
data () {
return {
formLabelAlign: {
username: '',
password: '',
validateToken: ''
}
}
},
methods: {
getValidateRes: function (val) {
const url = this.API + '/site_verify'
axios.post(url, {
api_key: '98081c00e21a9dd1aafa71521373d02f',
response: val
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
}
}
}
</script>
2.可以直接使用vue-puzzle-vcode插件,用法基本一樣。