gee_test 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 871a3340a1980f7da7db2956e67f48e2f6fb1d9f
4
- data.tar.gz: 0c5c26cd3ac4ecaf0f90164ed6d1994331899c53
3
+ metadata.gz: 6cfa7102aaa10451954530cd32309e46c74a08b3
4
+ data.tar.gz: 24242959f2a57324893256140f5eeea35ed4f771
5
5
  SHA512:
6
- metadata.gz: ed116aa76cfadb36a80a8b14f181861b5472bdc15dfa507becac74a2dbcc0493a92fc0937926aab591c30c8e752d6efda22a153e644ceedf58d23a2e8eddb952
7
- data.tar.gz: 6123f921ecd764a7e968f3527b0f9b81e9c23c12307b08c2d844b374d09a6d6a7912e3d9352d2b3ddbb5f23c5baeb92c73a7dc4158a047aad1ef51e3d8280d44
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gee_test (0.1.1)
4
+ gee_test (0.1.2)
5
5
  activesupport (> 4.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -33,78 +33,43 @@ GeeTest.app_key = 'xx'
33
33
  在eruby中使用
34
34
 
35
35
  ```eruby
36
- <%== GeeTest.gee_test_tag(product: 'embed') %>
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 geetest.rb
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=id"></script>
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
- 将geetest_ruby_sdk.rb拷贝至当前路径
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
@@ -0,0 +1,4 @@
1
+ source "https://gems.ruby-china.org"
2
+
3
+ gem "sinatra"
4
+ gem "gee_test"
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>极验行为式验证 php 类网站安装测试页面</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>极验行为式验证 php 类网站安装测试页面</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=a40fd3b0d712165c5d13e6f747e948d4"></script>
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
-
@@ -1,3 +1,3 @@
1
1
  module GeeTest
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
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 = {gt: app_id}.merge 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.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-06-15 00:00:00.000000000 Z
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/geetest.rb
72
- - demo/geetest_ruby_sdk.rb
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.4.8
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
@@ -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
-