| 开发者 | robertvahhi |
|---|---|
| 更新时间 | 2026年6月2日 08:23 |
| PHP版本: | 7.2 及以上 |
| WordPress版本: | 6.9 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
trustsig_verify(), REST endpoint /wp-json/trustsig/v1/verify, filters and actions for custom forms.[trustsig_form]
shortcode, or a hidden trustsig-response input)trustsig_verify( array( 'token' => $t, 'action' => 'my_form' ) )
returns pass | fail | challenge. Filters: trustsig_pre_verify,
trustsig_result. Action: trustsig_blocked.POST /wp-json/trustsig/v1/verify with { "token": "..." }.xmlrpc.php) is intentionally out of scope and is not verified.
Disable XML-RPC separately if it is unused on your site.trustsig-security folder to /wp-content/plugins/, or install
the plugin through the WordPress Plugins screen.No. The plugin protects your forms immediately on activation using the anonymous free tier. An account is only needed for analytics and higher limits.
A browser verification token, your site host name (or your secret key if you connect an account), and standard HTTPS request metadata are sent to the TrustSig Edge service. See the "External services" section above for the full disclosure, including links to the Terms of Service and Privacy Policy.
In Challenge mode (the default) a visitor whose token is missing sees a brief "please wait" page that re-verifies the browser and then continues the original request automatically. Monitor mode never blocks. Enforce mode is the strictest and can block visitors with JavaScript disabled.
Yes. Forms are signed with a server-issued nonce and the SDK fills the token client-side, so cached pages are still protected.
Settings → TrustSig → Tools shows a private recovery URL that bypasses all checks once. You can also add your IP to the whitelist.
Yes, it is licensed GPLv2 or later.
POST /sureforms/v1/submit-form, which previously was only covered if the broad REST guard was switched on. It is now bot-checked on its own toggle, like Contact Form 7 and WPForms. The token rides in the form's own multipart payload, so no shortcode is needed. Only anonymous tokenless submissions are challenged/blocked; verified browsers and any authenticated request pass straight through.elementor_pro/forms/validation hook inside the protection-hooks loader, which is skipped on admin-ajax requests — and Elementor submits over admin-ajax, so the hook never ran on a real submission. An anonymous tokenless POST to the Elementor form action was not bot-checked unless the broad admin-ajax guard was enabled. Elementor forms are now guarded directly in the request interceptor on their own default-on toggle, mirroring WPForms. Verified browsers pass through; tokenless submissions are blocked.POST /contact-form-7/v1/contact-forms/<id>/feedback, which previously was only covered if the broad REST guard was switched on. It is now bot-checked on its own toggle, like WPForms. Only anonymous tokenless submissions are challenged/blocked; verified browsers and any authenticated request pass straight through. Matched narrowly to the submission route, so CF7's other endpoints and unrelated REST traffic are never touched.trustsig_rest_form_guards filter so integrators can register additional form-plugin REST submission endpoints for default-on protection without enabling the broad REST guard.wpforms_submit action used by the Mesmerize / Materialis contact section and any [wpforms] embed) is now bot-checked on its own toggle, without having to enable the broad admin-ajax guard. Anonymous tokenless submissions are blocked; a verified browser passes straight through.rest_pre_dispatch), where authentication is resolved, instead of too early on init. Only anonymous writes (POST/PUT/PATCH/DELETE) are verified; reads pass through.trustsig_rest_allowlist and trustsig_ajax_allowlist filters) for unauthenticated-but-legitimate callbacks such as signature-verified payment webhooks.lei_ajax_settings=1 settings ping fired before the SDK has loaded (so it can carry no token) is now allowed through. Strictly scoped — only a POST body containing exactly that one field set to "1" and nothing else is exempt; any additional field falls through to the normal guard.defer attribute so they no longer block first paint, plus a preconnect/dns-prefetch hint to the edge so the connection is warmed in parallel with page parsing. Removes the render-blocking penalty without weakening protection — pending submissions still wait for the verifier.