gee_test 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/Gemfile.lock +1 -1
- data/README.md +21 -56
- data/demo/Gemfile +4 -0
- data/demo/Gemfile.lock +35 -0
- data/demo/app.rb +21 -0
- data/demo/login.html +3 -4
- data/lib/gee_test/version.rb +1 -1
- data/lib/gee_test.rb +2 -2
- metadata +6 -5
- data/demo/geetest.rb +0 -19
- data/demo/geetest_ruby_sdk.rb +0 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6cfa7102aaa10451954530cd32309e46c74a08b3
|
4
|
+
data.tar.gz: 24242959f2a57324893256140f5eeea35ed4f771
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d84f96dfb4e6f8882e5c1b60a339fc830bdff84d324ebae2d6121e3b6bf7fe51d9cddcc4b473d8a23402ab3a0cc23785564a8078ee18e47a1bcc4c498e519bc
|
7
|
+
data.tar.gz: dea62742dd7e4cc3e3d70b5976d79d1e5fa34b9023ef8224906fa4a0215dace09084a52271c862af74593069aa42fc185134c1707caad279ad70046c68ed3f3f
|
data/.gitignore
CHANGED
@@ -27,12 +27,12 @@ build/
|
|
27
27
|
|
28
28
|
# for a library or gem, you might want to ignore these files since the code is
|
29
29
|
# intended to run in multiple environments; otherwise, check them in:
|
30
|
-
# Gemfile.lock
|
31
30
|
# .ruby-version
|
32
31
|
# .ruby-gemset
|
33
32
|
|
34
33
|
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
35
34
|
.rvmrc
|
35
|
+
Gemfile.lock
|
36
36
|
|
37
37
|
*.swo
|
38
38
|
*.swp
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -33,78 +33,43 @@ GeeTest.app_key = 'xx'
|
|
33
33
|
在eruby中使用
|
34
34
|
|
35
35
|
```eruby
|
36
|
-
|
36
|
+
<%= GeeTest.gee_test_tag(product: 'embed') %>
|
37
|
+
```
|
38
|
+
|
39
|
+
在controller中验证
|
40
|
+
```ruby
|
41
|
+
if GeeTest.validate({
|
42
|
+
geetest_challenge: params['geetest_challenge'],
|
43
|
+
geetest_validate: params['geetest_validate'],
|
44
|
+
geetest_seccode: params['geetest_seccode'],
|
45
|
+
})
|
46
|
+
'successfully'
|
47
|
+
else
|
48
|
+
'Can not validate'
|
49
|
+
end
|
37
50
|
```
|
38
51
|
|
39
52
|
## 如何使用demo
|
40
|
-
|
41
53
|
|
42
|
-
```
|
43
|
-
git clone
|
54
|
+
```sh
|
55
|
+
git clone
|
44
56
|
cd gt_ruby_sdk/demo
|
45
|
-
bundle
|
46
|
-
ruby
|
57
|
+
bundle
|
58
|
+
ruby app.rb
|
47
59
|
access localhost:4567 via your browser
|
48
60
|
```
|
49
61
|
|
50
|
-
## 如何在rails项目中使用geetest
|
62
|
+
## 如何在rails项目中使用geetest
|
51
63
|
|
52
64
|
将geetest_ruby_sdk.rb拷贝至lib目录
|
53
65
|
|
54
66
|
```html
|
55
67
|
在view页面加上
|
56
|
-
<script type="text/javascript" src="http://api.geetest.com/get.php?gt=
|
68
|
+
<script type="text/javascript" src="http://api.geetest.com/get.php?gt=app_id"></script>
|
57
69
|
```
|
58
70
|
|
59
71
|
其中id为geetest的公钥,这是要注册后才能得到的
|
60
72
|
|
61
|
-
|
62
|
-
|
63
|
-
```ruby
|
64
|
-
# in your controller action
|
65
|
-
|
66
|
-
require 'geetest_ruby_sdk'
|
67
|
-
|
68
|
-
challenge = params[:geetest_challenge] || ''
|
69
|
-
validate = params[:geetest_validate] || ''
|
70
|
-
seccode = params[:geetest_seccode] || ''
|
71
|
-
|
72
|
-
# 将私钥传入,要注册的
|
73
|
-
sdk = GeetestSDK.new('private key')
|
74
|
-
if sdk.validate(challenge, validate, seccode)
|
75
|
-
do something
|
76
|
-
else
|
77
|
-
do something
|
78
|
-
end #if
|
79
|
-
```
|
80
|
-
|
81
73
|
## 在sinatra项目中使用geetest
|
82
74
|
|
83
|
-
|
84
|
-
|
85
|
-
```ruby
|
86
|
-
# app.rb
|
87
|
-
|
88
|
-
require 'sinatra'
|
89
|
-
require './geetest_ruby_sdk'
|
90
|
-
|
91
|
-
get '/' do
|
92
|
-
send_file 'login.html'
|
93
|
-
end
|
94
|
-
|
95
|
-
post '/log' do
|
96
|
-
challenge = params[:geetest_challenge] || ''
|
97
|
-
validate = params[:geetest_validate] || ''
|
98
|
-
seccode = params[:geetest_seccode] || ''
|
99
|
-
|
100
|
-
# 将私钥传入,要注册的
|
101
|
-
sdk = GeetestSDK.new('private key')
|
102
|
-
if sdk.validate(challenge, validate, seccode)
|
103
|
-
'successfully'
|
104
|
-
else
|
105
|
-
'Can not validate'
|
106
|
-
end #if
|
107
|
-
end
|
108
|
-
```
|
109
|
-
|
110
|
-
|
75
|
+
参考[demo](demo)
|
data/demo/Gemfile
ADDED
data/demo/Gemfile.lock
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://gems.ruby-china.org/
|
3
|
+
specs:
|
4
|
+
activesupport (4.2.5.1)
|
5
|
+
i18n (~> 0.7)
|
6
|
+
json (~> 1.7, >= 1.7.7)
|
7
|
+
minitest (~> 5.1)
|
8
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
9
|
+
tzinfo (~> 1.1)
|
10
|
+
gee_test (0.1.1)
|
11
|
+
activesupport (> 4.0)
|
12
|
+
i18n (0.7.0)
|
13
|
+
json (1.8.3)
|
14
|
+
minitest (5.9.0)
|
15
|
+
rack (1.6.4)
|
16
|
+
rack-protection (1.5.3)
|
17
|
+
rack
|
18
|
+
sinatra (1.4.7)
|
19
|
+
rack (~> 1.5)
|
20
|
+
rack-protection (~> 1.4)
|
21
|
+
tilt (>= 1.3, < 3)
|
22
|
+
thread_safe (0.3.5)
|
23
|
+
tilt (2.0.5)
|
24
|
+
tzinfo (1.2.2)
|
25
|
+
thread_safe (~> 0.1)
|
26
|
+
|
27
|
+
PLATFORMS
|
28
|
+
ruby
|
29
|
+
|
30
|
+
DEPENDENCIES
|
31
|
+
gee_test
|
32
|
+
sinatra
|
33
|
+
|
34
|
+
BUNDLED WITH
|
35
|
+
1.12.4
|
data/demo/app.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'sinatra'
|
2
|
+
require 'gee_test'
|
3
|
+
|
4
|
+
GeeTest.app_id = 'd12db4f4558502e74222f98b61935884'
|
5
|
+
GeeTest.app_key = ''
|
6
|
+
|
7
|
+
get '/' do
|
8
|
+
send_file 'login.html'
|
9
|
+
end
|
10
|
+
|
11
|
+
post '/log' do
|
12
|
+
if GeeTest.validate({
|
13
|
+
geetest_challenge: params['geetest_challenge'],
|
14
|
+
geetest_validate: params['geetest_validate'],
|
15
|
+
geetest_seccode: params['geetest_seccode'],
|
16
|
+
})
|
17
|
+
'successfully'
|
18
|
+
else
|
19
|
+
'Can not validate'
|
20
|
+
end
|
21
|
+
end
|
data/demo/login.html
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
3
3
|
<head>
|
4
4
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
5
|
-
<title>极验行为式验证
|
5
|
+
<title>极验行为式验证 ruby 网站安装测试页面</title>
|
6
6
|
<style>
|
7
7
|
body {
|
8
8
|
background-color: #9e9;
|
@@ -20,7 +20,7 @@
|
|
20
20
|
</head>
|
21
21
|
<body>
|
22
22
|
<div class="wrap">
|
23
|
-
<h1>极验行为式验证
|
23
|
+
<h1>极验行为式验证 ruby 网站安装测试页面</h1>
|
24
24
|
<form method="post" action="/log">
|
25
25
|
<div class="row">
|
26
26
|
<label for="name">邮箱</label>
|
@@ -31,7 +31,7 @@
|
|
31
31
|
<input type="password" id="passwd" name="passwd" value="gggggggg"/>
|
32
32
|
</div>
|
33
33
|
<div class="row">
|
34
|
-
<script type="text/javascript" src="http://api.geetest.com/get.php?gt=
|
34
|
+
<script type="text/javascript" src="http://api.geetest.com/get.php?gt=d12db4f4558502e74222f98b61935884"></script>
|
35
35
|
</div>
|
36
36
|
<div class="row">
|
37
37
|
<input type="submit" value="登陆" />
|
@@ -40,4 +40,3 @@
|
|
40
40
|
</div>
|
41
41
|
</body>
|
42
42
|
</html>
|
43
|
-
|
data/lib/gee_test/version.rb
CHANGED
data/lib/gee_test.rb
CHANGED
@@ -31,8 +31,8 @@ module GeeTest
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def gee_test_tag config={}
|
34
|
-
config
|
35
|
-
"<script type='text/javascript' src='http://api.geetest.com/get.php?#{config.to_query}'></script>"
|
34
|
+
config.merge! gt: app_id
|
35
|
+
"<script type='text/javascript' src='http://api.geetest.com/get.php?#{config.to_query}'></script>".html_safe
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gee_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xiajian
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -68,8 +68,9 @@ files:
|
|
68
68
|
- Rakefile
|
69
69
|
- bin/console
|
70
70
|
- bin/setup
|
71
|
-
- demo/
|
72
|
-
- demo/
|
71
|
+
- demo/Gemfile
|
72
|
+
- demo/Gemfile.lock
|
73
|
+
- demo/app.rb
|
73
74
|
- demo/login.html
|
74
75
|
- gee_test.gemspec
|
75
76
|
- lib/gee_test.rb
|
@@ -95,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
96
|
version: '0'
|
96
97
|
requirements: []
|
97
98
|
rubyforge_project:
|
98
|
-
rubygems_version: 2.
|
99
|
+
rubygems_version: 2.6.6
|
99
100
|
signing_key:
|
100
101
|
specification_version: 4
|
101
102
|
summary: GeeTest is Ruby SDK for geetest。
|
data/demo/geetest.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'sinatra'
|
2
|
-
require './geetest_ruby_sdk'
|
3
|
-
|
4
|
-
get '/' do
|
5
|
-
send_file 'login.html'
|
6
|
-
end
|
7
|
-
|
8
|
-
post '/log' do
|
9
|
-
challenge = params[:geetest_challenge] || ''
|
10
|
-
validate = params[:geetest_validate] || ''
|
11
|
-
seccode = params[:geetest_seccode] || ''
|
12
|
-
|
13
|
-
sdk = GeetestSDK.new('0f1a37e33c9ed10dd2e133fe2ae9c459')
|
14
|
-
if sdk.validate(challenge, validate, seccode)
|
15
|
-
'successfully'
|
16
|
-
else
|
17
|
-
'Can not validate'
|
18
|
-
end #if
|
19
|
-
end
|
data/demo/geetest_ruby_sdk.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'digest'
|
2
|
-
require 'net/http'
|
3
|
-
|
4
|
-
class GeetestSDK
|
5
|
-
def initialize(key, new_uri=nil)
|
6
|
-
@gee_uri = new_uri || 'http://api.geetest.com/validate.php'
|
7
|
-
@key = key
|
8
|
-
end
|
9
|
-
|
10
|
-
def validate(challenge='', validate='', seccode='')
|
11
|
-
md5 = Digest::MD5.hexdigest(@key + 'geetest' + challenge)
|
12
|
-
if validate == md5
|
13
|
-
back = post(@gee_uri, seccode: seccode) rescue ''
|
14
|
-
if back == Digest::MD5.hexdigest(seccode)
|
15
|
-
return true
|
16
|
-
else
|
17
|
-
return false
|
18
|
-
end #if
|
19
|
-
else
|
20
|
-
return false
|
21
|
-
end #if
|
22
|
-
end #geetest_validate
|
23
|
-
|
24
|
-
# data.is_a?(Hash)==true
|
25
|
-
def post(uri, data)
|
26
|
-
uri = URI(uri)
|
27
|
-
res = Net::HTTP.post_form(uri, data)
|
28
|
-
res.body
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|