securenative 0.1.26 → 0.1.27
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/Gemfile.lock +1 -1
- data/lib/securenative/utils/request_utils.rb +27 -16
- data/securenative.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d18bd4d9d663ea3a9c66c02568a6bb7da1c51184025aaad518e54581098ea6fb
|
4
|
+
data.tar.gz: 1f6ef18b8eeda3e0db99439b61e74bf752cd249551aafb7a84c36a22a23a6243
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51fefc82971f4be81fc80e53e8df4ae49defb30a773af44ad08da9adad03e4a14d5c6b68b4a24ef30b3948b854f7b4efa442eb946e68e7ca4dc972f1e951804a
|
7
|
+
data.tar.gz: 1a407b96bc50cc0f8db661d70d39a5106e8bc40e37b27e820976c1d989179eca194e866a160e021f1b044a7e066dc6a2c3e06f6ee86fbb553213cb559592cd47
|
data/Gemfile.lock
CHANGED
@@ -15,9 +15,19 @@ module SecureNative
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.get_client_ip_from_request(request, options = nil)
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
unless options.nil?
|
19
|
+
for header in options.proxy_headers do
|
20
|
+
begin
|
21
|
+
h = request.env[header]
|
22
|
+
return h.scan(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/)[0] unless h.nil?
|
23
|
+
rescue NoMethodError
|
24
|
+
begin
|
25
|
+
h = request[header]
|
26
|
+
return h.scan(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/)[0] unless h.nil?
|
27
|
+
rescue NoMethodError
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
21
31
|
end
|
22
32
|
|
23
33
|
begin
|
@@ -31,6 +41,17 @@ module SecureNative
|
|
31
41
|
end
|
32
42
|
end
|
33
43
|
|
44
|
+
begin
|
45
|
+
x_forwarded_for = request.env['HTTP_X_REAL_IP']
|
46
|
+
return x_forwarded_for.scan(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/)[0] unless x_forwarded_for.nil?
|
47
|
+
rescue NoMethodError
|
48
|
+
begin
|
49
|
+
x_forwarded_for = request['HTTP_X_REAL_IP']
|
50
|
+
return x_forwarded_for.scan(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/)[0] unless x_forwarded_for.nil?
|
51
|
+
rescue NoMethodError
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
34
55
|
begin
|
35
56
|
x_forwarded_for = request.env['REMOTE_ADDR']
|
36
57
|
return x_forwarded_for.scan(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/)[0] unless x_forwarded_for.nil?
|
@@ -42,19 +63,9 @@ module SecureNative
|
|
42
63
|
end
|
43
64
|
end
|
44
65
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
h = request.env[header]
|
49
|
-
return h.scan(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/)[0] unless h.nil?
|
50
|
-
rescue NoMethodError
|
51
|
-
begin
|
52
|
-
h = request[header]
|
53
|
-
return h.scan(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/)[0] unless h.nil?
|
54
|
-
rescue NoMethodError
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
66
|
+
begin
|
67
|
+
return request.ip unless request.ip.nil?
|
68
|
+
rescue NoMethodError
|
58
69
|
end
|
59
70
|
|
60
71
|
''
|
data/securenative.gemspec
CHANGED