Module: PxModule
- Defined in:
- lib/perimeter_x.rb,
lib/perimeterx/version.rb,
lib/perimeterx/configuration.rb,
lib/perimeterx/utils/px_logger.rb,
lib/perimeterx/utils/px_constants.rb,
lib/perimeterx/utils/px_http_client.rb,
lib/perimeterx/utils/px_template_factory.rb,
lib/perimeterx/internal/perimeter_x_cookie.rb,
lib/perimeterx/internal/perimeter_x_context.rb,
lib/perimeterx/internal/perimeter_x_cookie_v1.rb,
lib/perimeterx/internal/perimeter_x_cookie_v3.rb,
lib/perimeterx/internal/clients/perimeter_x_risk_client.rb,
lib/perimeterx/internal/clients/perimeter_x_activity_client.rb,
lib/perimeterx/internal/validators/perimeter_x_s2s_validator.rb,
lib/perimeterx/internal/validators/perimeter_x_cookie_validator.rb,
lib/perimeterx/internal/validators/perimeter_x_captcha_validator.rb
Defined Under Namespace
Modules: PxTemplateFactory Classes: Configuration, PerimeterX, PerimeterXContext, PerimeterxActivitiesClient, PerimeterxCaptchaValidator, PerimeterxCookie, PerimeterxCookieV1, PerimeterxCookieV3, PerimeterxCookieValidator, PerimeterxRiskClient, PerimeterxS2SValidator, PxHttpClient, PxLogger
Constant Summary collapse
- VERSION =
'1.0.5'- MONITOR_MODE =
Misc
1- ACTIVE_MODE =
2- RISK_MODE_ACTIVE =
"active_blocking"- RISK_MODE_MONITOR =
"monitor"- SDK_NAME =
"RUBY SDK v#{PxModule::VERSION}"- API_V1_S2S =
Routes
"/api/v1/collector/s2s"- API_V1_CAPTCHA =
"/api/v1/risk/captcha"- API_V2_RISK =
"/api/v2/risk"- BLOCK_ACTIVITY =
Activity Types
"block"- PAGE_REQUESTED_ACTIVITY =
"page_requested"- NO_COOKIE =
PxContext
"no_cookie"- INVALID_COOKIE =
"invalid_cookie"- EXPIRED_COOKIE =
"cookie_expired"- COOKIE_HIGH_SCORE =
"cookie_high_score"- COOKIE_VALIDATION_FAILED =
"cookie_validation_failed"- COOKIE_DECRYPTION_FAILED =
"cookie_decryption_failed"- BLOCK_TEMPLATE =
Templates
"block.mustache"- CAPTCHA_TEMPLATE =
"captcha.mustache"- PROP_REF_ID =
Tempalte Props
:refId- PROP_APP_ID =
:appId- PROP_VID =
:vid- PROP_UUID =
:uuid- PROP_LOGO_VISIBILITY =
:logoVisibility- PROP_CUSTOM_LOGO =
:customLogo- PROP_CSS_REF =
:cssRef- PROP_JS_REF =
:jsRef- VISIBLE =
'visible'- HIDDEN =
'hidden'
Class Method Summary collapse
Instance Method Summary collapse
-
#px_verify_request ⇒ Object
Module expose API.
Class Method Details
.configure(params) ⇒ Object
39 40 41 |
# File 'lib/perimeter_x.rb', line 39 def self.configure(params) @px_instance = PerimeterX.configure(params) end |
Instance Method Details
#px_verify_request ⇒ Object
Module expose API
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/perimeter_x.rb', line 15 def px_verify_request verified, px_ctx = PerimeterX.instance.verify(env) # Invalidate _pxCaptcha, can be done only on the controller level [:_pxCaptcha] = { value: "", expires: -1.minutes.from_now } if (!verified) # In case custon block handler exists if (PerimeterX.instance.px_config.key?(:custom_block_handler)) PerimeterX.instance.px_config[:logger].debug("PxModule[px_verify_request]: custom_block_handler triggered") return instance_exec(px_ctx, &PerimeterX.instance.px_config[:custom_block_handler]) else # Generate template PerimeterX.instance.px_config[:logger].debug("PxModule[px_verify_request]: sending default block page") html = PxTemplateFactory.get_template(px_ctx, PerimeterX.instance.px_config) response.headers["Content-Type"] = "text/html" response.status = 403 render :html => html end end return verified end |