0%

Rails 4 添加行为式验证

行为式验证技术是继传统码式验证技术后的新一代验证安全技术。

作为一个革命性的验证安全技术,行为式验证技术对“验证安全”进行了全新的定义与颠覆。 新一代行为式验证技术的安全理论构建在多门学科的理论基础之上,具有多重复合且相互异维的高强度防御体系。 行为式验证技术的核心思想是利用用户的“行为特征”来做验证安全判别。整个验证框架采用高效的“行为沙盒”主动框架, 这个框架会引导用户在“行为沙盒”内产生特定的行为数据,利用“多重复合行为判别”算法从特指、视觉、思考等多重行为信息中辨识出生物个体的特征, 从而准确快速的提供验证结果。

Geetest是一个很不错的验证码组件,使用方便,安全性强。可惜没有ruby的sdk。
这里是网友提供的一个ruby实现。https://github.com/GeeTeam/gt-ruby-sdk

如何在rails项目中使用geetest

geetest_ruby_sdk.rb拷贝至lib目录

在view页面加上:

1
<script type="text/javascript" src="http://api.geetest.com/get.php?gt=id"></script>

其中idgeetest的公钥,这是要注册后才能得到的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# in your controller action

require 'geetest_ruby_sdk'

challenge = params[:geetest_challenge] || ''
validate = params[:geetest_validate] || ''
seccode = params[:geetest_seccode] || ''

# 将私钥传入,要注册的
sdk = GeetestSDK.new('private key')
if sdk.validate(challenge, validate, seccode)
do something
else
do something
end #if