- bouncer: Turnstile.Verify posts secret/response/remoteip to siteverify with a 5 s bound and PHP's open and closed modes (503 unconfigured in production, 422 on a missing, rejected or overlong token, an error or a timeout); errors never carry the secret or the token - bouncer: Turnstile.Middleware reads the token from the query, a JSON body or a form body, restores the body and writes refusals through a published TurnstileWriter or neutral JSON - surf: factory turnstile:open|closed from turnstile.secret/turnstile.field (a published *bouncer.Turnstile wins), client IP with trusted proxies; any other param fails boot - docs: Turnstile section, middleware table, README rows
9.8 KiB
9.8 KiB