Class: PxModule::PerimeterxCookieV3
- Inherits:
-
PerimeterxPayload
- Object
- PerimeterxPayload
- PxModule::PerimeterxCookieV3
- Defined in:
- lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb
Instance Attribute Summary collapse
-
#cookie_hash ⇒ Object
Returns the value of attribute cookie_hash.
-
#px_config ⇒ Object
Returns the value of attribute px_config.
-
#px_ctx ⇒ Object
Returns the value of attribute px_ctx.
Attributes inherited from PerimeterxPayload
#cookie_secret, #decoded_cookie, #px_cookie
Instance Method Summary collapse
- #cookie_block_action ⇒ Object
- #cookie_hmac ⇒ Object
- #cookie_score ⇒ Object
-
#initialize(px_config, px_ctx) ⇒ PerimeterxCookieV3
constructor
A new instance of PerimeterxCookieV3.
- #secured? ⇒ Boolean
- #valid_format?(cookie) ⇒ Boolean
Methods inherited from PerimeterxPayload
#cookie_time, #cookie_uuid, #cookie_vid, #decode, #decrypt, #deserialize, #expired?, #high_score?, #hmac_valid?, #is_valid?, px_cookie_factory, #secure_compare
Constructor Details
#initialize(px_config, px_ctx) ⇒ PerimeterxCookieV3
Returns a new instance of PerimeterxCookieV3.
6 7 8 9 10 11 12 13 14 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 6 def initialize(px_config, px_ctx) super(px_config) hash, = px_ctx.().split(':', 2) @px_cookie = @cookie_hash = hash @px_ctx = px_ctx @cookie_secret = px_config[:cookie_key] @logger.debug("PerimeterxCookieV3[initialize]") end |
Instance Attribute Details
#cookie_hash ⇒ Object
Returns the value of attribute cookie_hash.
4 5 6 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 4 def @cookie_hash end |
#px_config ⇒ Object
Returns the value of attribute px_config.
4 5 6 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 4 def px_config @px_config end |
#px_ctx ⇒ Object
Returns the value of attribute px_ctx.
4 5 6 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 4 def px_ctx @px_ctx end |
Instance Method Details
#cookie_block_action ⇒ Object
28 29 30 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 28 def @decoded_cookie[:a] end |
#cookie_hmac ⇒ Object
20 21 22 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 20 def return @cookie_hash end |
#cookie_score ⇒ Object
16 17 18 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 16 def return @decoded_cookie[:s] end |
#secured? ⇒ Boolean
32 33 34 35 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 32 def secured? hmac_string = "#{@px_cookie}#{@px_ctx.context[:user_agent]}" return hmac_valid?(hmac_string, ) end |
#valid_format?(cookie) ⇒ Boolean
24 25 26 |
# File 'lib/perimeterx/internal/payload/perimeter_x_cookie_v3.rb', line 24 def valid_format?() return .key?(:t) && .key?(:s) && .key?(:u) && .key?(:a) end |