PHPackages                             valksor/php-form-type-cloudflare-turnstile - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. valksor/php-form-type-cloudflare-turnstile

ActiveLibrary

valksor/php-form-type-cloudflare-turnstile
==========================================

Symfony Form type for Cloudflare Turnstile bot protection

00PHPCI passing

Since Jan 24Pushed 3mo agoCompare

[ Source](https://github.com/valksor/php-form-type-cloudflare-turnstile)[ Packagist](https://packagist.org/packages/valksor/php-form-type-cloudflare-turnstile)[ RSS](/packages/valksor-php-form-type-cloudflare-turnstile/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Valksor Component: FormType CloudflareTurnstile
===============================================

[](#valksor-component-formtype-cloudflareturnstile)

[![valksor](https://camo.githubusercontent.com/2af5a6a7e5f7da47cd0a924c8b00038f208f45f9b0d5be8d7a497a9808168187/68747470733a2f2f62616467656e2e6e65742f7374617469632f6f72672f76616c6b736f722f677265656e)](https://github.com/valksor)[![BSD-3-Clause](https://camo.githubusercontent.com/72547f8afb6b5ace804caebbf95c3bcbfc027ce9214777bc452f308f3165db01/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4253442d2d332d2d436c617573652d677265656e3f7374796c653d666c6174)](https://github.com/valksor/php-form-type-cloudflare-turnstile/blob/master/LICENSE)[![Coverage Status](https://camo.githubusercontent.com/4f4a9a7437ad3048e9bddcfe178e2a0c3677d9bd55c68fb0476d4dc8f68588d9/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f76616c6b736f722f7068702d666f726d2d747970652d636c6f7564666c6172652d7475726e7374696c652f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/valksor/php-form-type-cloudflare-turnstile?branch=master)[![php](https://camo.githubusercontent.com/77da2f7bbc049873edb2d1045a756d7a32e3ba50440a8e0e76a9109f62f0771b/68747470733a2f2f62616467656e2e6e65742f7374617469632f7068702f2533453d382e342f707572706c65)](https://www.php.net/releases/8.4/en.php)

A Symfony Form type providing Cloudflare Turnstile CAPTCHA integration with server-side validation. Privacy-focused alternative to reCAPTCHA.

Installation
------------

[](#installation)

Install the package via Composer:

```
composer require valksor/php-form-type-cloudflare-turnstile
```

Requirements
------------

[](#requirements)

- PHP 8.4 or higher
- Symfony Form Component (&gt;=6.4)
- Symfony HttpClient
- Symfony Validator
- Cloudflare Turnstile sitekey and secret

Usage
-----

[](#usage)

There are two ways to use this package: via the form type class or by configuring the registry.

### Using the Form Type

[](#using-the-form-type)

Add the Turnstile field to your form with the required `type` option:

```
use Valksor\Component\FormType\CloudflareTurnstile\Form\Type\CloudflareTurnstileType;

$form = $this->createFormBuilder()
    ->add('turnstile', CloudflareTurnstileType::class, [
        'type' => 'managed',
    ])
    ->getForm();
```

### Configuration

[](#configuration)

Configure sitekeys and secrets in `config/packages/valksor.yaml`:

```
valksor:
    cloudflare_turnstile:
        types:
            managed:
                sitekey: "your_sitekey_managed"
                secret: "your_secret_managed"
            non_interactive:
                sitekey: "your_sitekey_non_interactive"
                secret: "your_secret_non_interactive"
```

Features
--------

[](#features)

### Supported Types

[](#supported-types)

Managed by `CloudflareTurnstileRegistry`. Add types in config.

TypeDescription`managed`Standard interactive widget`non_interactive`Non-interactive verification`invisible`Invisible background verification### Server Validation

[](#server-validation)

Automatic via `CloudflareTurnstile` constraint. Validates token against Cloudflare API.

### Frontend Rendering

[](#frontend-rendering)

Uses `fields.html.twig` template. Turnstile widget renders automatically with sitekey.

### Required Options

[](#required-options)

OptionTypeDescription`type``string`Required. Must match configured types (managed, non\_interactive, etc.)`mapped``bool`Default: `false`. Field is not mapped to entityTesting
-------

[](#testing)

Run the test suite for CloudflareTurnstile:

```
# Run all CloudflareTurnstile tests
bin/unit Valksor/Component/FormType/CloudflareTurnstile

# Run tests with coverage
vendor/bin/phpunit src/Valksor/Component/FormType/CloudflareTurnstile --coverage-text
```

Contributing
------------

[](#contributing)

Contributions are welcome!

- Code style requirements (PSR-12)
- Testing requirements for PRs
- One feature per pull request
- Development setup instructions

To contribute to CloudflareTurnstile:

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/turnstile-improvement`)
3. Implement your changes following existing patterns
4. Add comprehensive tests
5. Ensure all tests pass and code style is correct
6. Submit a pull request

Security
--------

[](#security)

If you discover any security-related issues, please email us at  instead of using the issue tracker.

Support
-------

[](#support)

- **Documentation**: [Full documentation](https://github.com/valksor/php-valksor)
- **Issues**: [GitHub Issues](https://github.com/valksor/php-valksor/issues) for bug reports and feature requests
- **Discussions**: [GitHub Discussions](https://github.com/orgs/valksor/discussions/categories/php-valksor) for questions and community support

Credits
-------

[](#credits)

- **[Original Author](https://github.com/valksor)** - Creator and maintainer
- **[All Contributors](https://github.com/valksor/php-valksor/graphs/contributors)** - Thank you to all who contributed
- **[Symfony Form](https://symfony.com/doc/current/forms.html)** - Form component foundation
- **[Cloudflare Turnstile](https://developers.cloudflare.com/turnstile/)** - CAPTCHA service
- **[Valksor Project](https://github.com/valksor)** - Part of the larger Valksor PHP ecosystem

License
-------

[](#license)

This package is licensed under the [BSD-3-Clause License](LICENSE).

About Valksor
-------------

[](#about-valksor)

This package is part of the [valksor/php-valksor](https://github.com/valksor/php-valksor) project - a comprehensive PHP library and Symfony bundle that provides a collection of utilities, components, and integrations for Symfony applications.

The main project includes:

- Various utility functions and components
- Doctrine ORM tools and extensions
- Symfony bundle for easy configuration
- And much more

If you find this CloudflareTurnstile component useful, you might want to check out the full Valksor project for additional tools and utilities that can enhance your Symfony application development.

To install the complete package:

```
composer require valksor/php-valksor
```

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance54

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/c4db85e32518c5a6caa2fd625032a2b016ef42d60cf8a101c165cc5c0048b221?d=identicon)[k0d3r1s](/maintainers/k0d3r1s)

---

Top Contributors

[![k0d3r1s](https://avatars.githubusercontent.com/u/38725938?v=4)](https://github.com/k0d3r1s "k0d3r1s (7 commits)")

### Embed Badge

![Health badge](/badges/valksor-php-form-type-cloudflare-turnstile/health.svg)

```
[![Health](https://phpackages.com/badges/valksor-php-form-type-cloudflare-turnstile/health.svg)](https://phpackages.com/packages/valksor-php-form-type-cloudflare-turnstile)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
