HUMAN Security

Bot management

Also known as: PerimeterX, Bot Defender, px

The former PerimeterX. Blocks with a 403 that often carries an explicit x-px-blocked header, and answers blocked AJAX calls with JSON instead of an HTML challenge page.

HUMAN's Bot Defender, still widely called PerimeterX after the product's original name, deploys as an enforcer at the edge or in the application, paired with a client-side sensor. The enforcer computes a score from 0 to 100 and blocks above a configured threshold, with the default blocking score documented at 100.

The enforcer runs in monitor mode by default. That detail explains a common confusion: a site can have HUMAN fully deployed and still block nothing, because blocking has to be switched on explicitly. Detection and enforcement are separate decisions.

HUMAN's most distinctive feature for API callers is the Advanced Blocking Response. Rather than returning an HTML challenge page to an AJAX request, which would be useless to a fetch or XHR caller, the enforcer returns a JSON object containing everything needed to render the challenge inside the page. So on a HUMAN site, a blocked API call and a blocked page load look completely different on the wire.

How to identify it

Headers

Cookies

Status codes

403 Enforcer block

Blocked. Observed behaviour.

The enforcer scored the request above the blocking threshold and refused it.

What triggers it

How to confirm it

What to do about it

HTTP/2 403
server: CloudFront
x-px-blocked: 1
x-cache: LambdaGeneratedResponse from cloudfront
content-type: text/html

<html><head><title>Access to this page has been denied</title></head>...

403 Advanced Blocking Response on an AJAX call

Challenge. Documented by the vendor.

A blocked fetch or XHR request answered with a JSON object describing the challenge, so the page can render it inline instead of navigating to an interstitial.

What triggers it

How to confirm it

What to do about it

429 Rate limited

Rate limited. Observed behaviour.

Request rate exceeded, separately from the risk score decision.

What triggers it

How to confirm it

What to do about it

200 Monitor mode

Allowed. Documented by the vendor.

Detection ran and scored the request, but the enforcer is in monitor mode so nothing was blocked. HUMAN documents monitor mode as the default until px_block_enabled is set.

What triggers it

How to confirm it

What to do about it

If you run a site behind it

If your traffic is being caught by it

Documentation

See also