{"id":21440900,"url":"https://github.com/pixel-open/magento-cloudflare-turnstile","last_synced_at":"2025-08-21T08:30:57.461Z","repository":{"id":62847740,"uuid":"561783968","full_name":"Pixel-Open/magento-cloudflare-turnstile","owner":"Pixel-Open","description":"Protect your Magento store from spam messages and spam user accounts with Cloudflare Turnstile ","archived":false,"fork":false,"pushed_at":"2024-06-27T08:37:50.000Z","size":68,"stargazers_count":20,"open_issues_count":5,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-06T07:03:56.620Z","etag":null,"topics":["adobe-commerce","captcha","cloudflare","form","magento","magento-2","magento-module","security","turnstile"],"latest_commit_sha":null,"homepage":"https://pixel-open.org/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pixel-Open.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-11-04T13:37:50.000Z","updated_at":"2024-12-01T21:38:10.000Z","dependencies_parsed_at":"2024-02-20T21:55:34.922Z","dependency_job_id":null,"html_url":"https://github.com/Pixel-Open/magento-cloudflare-turnstile","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"c4bc9ef1f2127e483e524d562f9e21d5a31da787"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixel-Open%2Fmagento-cloudflare-turnstile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixel-Open%2Fmagento-cloudflare-turnstile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixel-Open%2Fmagento-cloudflare-turnstile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixel-Open%2Fmagento-cloudflare-turnstile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pixel-Open","download_url":"https://codeload.github.com/Pixel-Open/magento-cloudflare-turnstile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230501172,"owners_count":18236061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adobe-commerce","captcha","cloudflare","form","magento","magento-2","magento-module","security","turnstile"],"created_at":"2024-11-23T01:19:25.074Z","updated_at":"2025-08-21T08:30:57.455Z","avatar_url":"https://github.com/Pixel-Open.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Magento Cloudflare Turnstile\n\n[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.0-green)](https://php.net/)\n[![Minimum Magento Version](https://img.shields.io/badge/magento-%3E%3D%202.4.4-green)](https://business.adobe.com/products/magento/magento-commerce.html)\n[![GitHub release](https://img.shields.io/github/v/release/Pixel-Open/magento-cloudflare-turnstile)](https://github.com/Pixel-Open/magento-cloudflare-turnstile/releases)\n\n## Presentation\n\n[Turnstile](https://developers.cloudflare.com/turnstile/) is Cloudflare's smart CAPTCHA alternative. The module allows Turnstile to protect your Magento OpenSource or Adobe Commerce forms.\n\n![Cloudflare Turnstile](screenshot.png)\n\n### Frontend Forms\n\n- Contact\n- Login\n- Register\n- Reset password\n- Review\n- Send product to friend\n\n### Admin Forms\n\n- Login\n- Reset password\n\n## Requirements\n\n- Magento \u003e= 2.4.4\n- PHP \u003e= 8.0\n\n## Installation\n\n```\ncomposer require pixelopen/magento-cloudflare-turnstile\n```\n\n## Configuration\n\n### Disable all Magento Captcha\n\n*Stores \u003e Configuration \u003e Customers \u003e Customer Configuration \u003e CAPTCHA*\n\n- **Enable CAPTCHA on Storefront**: no\n\n*Stores \u003e Configuration \u003e Security \u003e Google reCAPTCHA Storefront \u003e Storefront*\n\n- **Enable for Customer Login**: no\n- **Enable for Forgot Password**: no\n- **Enable for Create New Customer Account**: no\n- **Enable for Contact Us**: no\n- **Enable for Product Review**: no\n\n*Stores \u003e Configuration \u003e Security \u003e Google reCAPTCHA Admin Panel \u003e Admin Panel*\n\n- **Enable for Login**: no\n- **Enable for Forgot Password**: no\n\n### Enable Cloudflare Turnstile\n\n*Stores \u003e Configuration \u003e Services \u003e Cloudflare Turnstile*\n\n**Settings**\n\n- **Sitekey**: the sitekey given for the site in your Cloudflare dashboard\n- **Secret key**: the secret key given for the site in your Cloudflare dashboard\n\n**Storefront**\n\n- **Enabled**: enable Cloudflare Turnstile\n- **Theme**: the Turnstile theme (auto, light or dark)\n- **Size**: the widget size (compact, normal, or flexible)\n- **Forms to validate**: the frontend forms where a Turnstile validation is required\n\n**Admin Panel**\n\n- **Enabled**: enable Cloudflare Turnstile\n- **Theme**: the Turnstile theme (auto, light or dark)\n- **Size**: the widget size (compact, normal, or flexible)\n- **Forms to validate**: the admin forms where a Turnstile validation is required\n\n### Override default config\n\nYou can specifically change theme and size values for a form in the layout:\n\n```xml\n\u003c?xml version=\"1.0\"?\u003e\n\u003c!-- layout/customer_account_login.xml --\u003e\n\u003cpage xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:View/Layout/etc/page_configuration.xsd\"\u003e\n    \u003cbody\u003e\n        \u003creferenceContainer name=\"form.additional.info\"\u003e\n            \u003cblock name=\"pixel.open.cloudflare.turnstile.login\"\u003e\n                \u003caction method=\"setSize\"\u003e\n                    \u003cargument name=\"size\" xsi:type=\"string\"\u003ecompact\u003c/argument\u003e\n                \u003c/action\u003e\n                \u003caction method=\"setTheme\"\u003e\n                    \u003cargument name=\"theme\" xsi:type=\"string\"\u003edark\u003c/argument\u003e\n                \u003c/action\u003e\n            \u003c/block\u003e\n        \u003c/referenceContainer\u003e\n    \u003c/body\u003e\n\u003c/page\u003e\n```\n\n### Command line configuration\n\n#### Settings\n\n```shell\nbin/magento config:set pixel_open_cloudflare_turnstile/settings/secret_key {secret_key}\nbin/magento config:set pixel_open_cloudflare_turnstile/settings/sitekey {sitekey}\n```\n\n#### Frontend\n\n```shell\nbin/magento config:set pixel_open_cloudflare_turnstile/frontend/enabled {1|0}\nbin/magento config:set pixel_open_cloudflare_turnstile/frontend/theme {auto|light|dark}\nbin/magento config:set pixel_open_cloudflare_turnstile/frontend/size {normal|compact|flexible}\nbin/magento config:set pixel_open_cloudflare_turnstile/frontend/forms contact,register,login,login-ajax,password\n```\n\n#### Admin\n\n```shell\nbin/magento config:set pixel_open_cloudflare_turnstile/adminhtml/enabled {1|0}\nbin/magento config:set pixel_open_cloudflare_turnstile/adminhtml/theme {auto|light|dark}\nbin/magento config:set pixel_open_cloudflare_turnstile/adminhtml/size {normal|compact|flexible}\nbin/magento config:set pixel_open_cloudflare_turnstile/adminhtml/forms login,password\n```\n\n### Testing\n\nUse the following sitekeys and secret keys for testing purposes:\n\n**Sitekey**\n\n| Sitekey                  | Description                     |\n|--------------------------|---------------------------------|\n| 1x00000000000000000000AA | Always passes                   |\n| 2x00000000000000000000AB | Always blocks                   |\n| 3x00000000000000000000FF | Forces an interactive challenge |\n\n**Secret key**\n\n| Secret key                          | Description                          |\n|-------------------------------------|--------------------------------------|\n| 1x0000000000000000000000000000000AA | Always passes                        |\n| 2x0000000000000000000000000000000AA | Always fails                         |\n| 3x0000000000000000000000000000000AA | Yields a \"token already spent\" error |\n\n### Definitely remove re-captcha\n\nTo remove all native re-captcha modules, add all modules in the \"replace\" node of the `composer.json`.\n\n```json\n{\n  \"replace\": {\n    \"magento/module-re-captcha-admin-ui\": \"*\",\n    \"magento/module-re-captcha-checkout\": \"*\",\n    \"magento/module-re-captcha-checkout-sales-rule\": \"*\",\n    \"magento/module-re-captcha-contact\": \"*\",\n    \"magento/module-re-captcha-customer\": \"*\",\n    \"magento/module-re-captcha-frontend-ui\": \"*\",\n    \"magento/module-re-captcha-gift-card\": \"*\",\n    \"magento/module-re-captcha-invitation\": \"*\",\n    \"magento/module-re-captcha-migration\": \"*\",\n    \"magento/module-re-captcha-multiple-wishlist\": \"*\",\n    \"magento/module-re-captcha-newsletter\": \"*\",\n    \"magento/module-re-captcha-paypal\": \"*\",\n    \"magento/module-re-captcha-review\": \"*\",\n    \"magento/module-re-captcha-send-friend\": \"*\",\n    \"magento/module-re-captcha-store-pickup\": \"*\",\n    \"magento/module-re-captcha-ui\": \"*\",\n    \"magento/module-re-captcha-user\": \"*\",\n    \"magento/module-re-captcha-validation\": \"*\",\n    \"magento/module-re-captcha-validation-api\": \"*\",\n    \"magento/module-re-captcha-version-2-checkbox\": \"*\",\n    \"magento/module-re-captcha-version-2-invisible\": \"*\",\n    \"magento/module-re-captcha-version-3-invisible\": \"*\",\n    \"magento/module-re-captcha-webapi-api\": \"*\",\n    \"magento/module-re-captcha-webapi-graph-ql\": \"*\",\n    \"magento/module-re-captcha-webapi-rest\": \"*\",\n    \"magento/module-re-captcha-webapi-ui\": \"*\"\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixel-open%2Fmagento-cloudflare-turnstile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpixel-open%2Fmagento-cloudflare-turnstile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixel-open%2Fmagento-cloudflare-turnstile/lists"}