Download the PHP package hansdeboeck/laravel-turnstile without Composer

On this page you can find all versions of the php package hansdeboeck/laravel-turnstile. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-turnstile

Laravel Turnstile

Cloudflare Turnstile voor Laravel: serverside verificatie, een validatieregel, Blade-componenten en de bijhorende JavaScript.

Het widget draait standaard onzichtbaar (appearance: interaction-only, execution: execute). Er gebeurt pas iets wanneer een formulier verstuurd wordt, en de bezoeker ziet alleen iets wanneer Cloudflare echt twijfelt. Komt die uitdaging er, dan schuift ze naar voren als modaal blok in plaats van ergens in de paginastroom op te duiken waar niemand ze ziet.

Installatie

In .env:

Voeg https://challenges.cloudflare.com toe aan script-src en frame-src van je Content-Security-Policy.

vendor:publish --tag=turnstile-assets --force hoort in je deploy-stap: zonder dat belandt een update van de JavaScript nooit in public/.

Serverzijde

verify() en passes() leiden het ip zelf uit de lopende request af. Geef een tweede argument mee om dat te overschrijven, of zet turnstile.remote_ip op 'none' om helemaal geen ip mee te sturen.

De foutcodes van Cloudflare (invalid-input-secret en broertjes) zitten in errorCodes en forLogging(), maar bewust niet in toArray() of jsonSerialize(). Stuur ze nooit naar een browser: ze verraden hoe je configuratie erbij ligt.

Ontbrekende sleutels

Zonder geheime sleutel slaagt de controle enkel in local en testing (instelbaar via turnstile.bypass_environments). Overal anders faalt ze met not-configured plus een error-regel in het logboek, zodat een vergeten sleutel op staging of productie niet ongemerkt voorbijgaat. Staat de sleutel wel ingesteld, dan wordt er ook lokaal echt geverifieerd.

Frontend

Zonder eigen JavaScript, via de auto-bedrading:

De componenten leveren alleen gedrag: data-attributen, aria-bedrading en de sitekey. Klassen komen van jou, in je eigen views, waar je CSS-bouwstap al kijkt.

Zonder sitekey renderen stage, container, scripts en widget niets.

Programmatisch

Foutcodes: turnstile-script, turnstile-error, turnstile-cancelled, turnstile-expired, turnstile-superseded, turnstile-not-ready.

Zichtbaar widget

Wil je het klassieke aanvinkvakje in plaats van een controle bij het versturen, geef de container dan data-turnstile-visible, of gebruik create({visible: true}). Voor volledig eigen bedrading is er <x-turnstile::widget data-callback="..." />.

Styling

turnstile.css regelt alleen de mechaniek van het vlak. Kleuren en maten lopen via custom properties:

Heeft je applicatie een eigen asset-helper (cachebusting, .min-omschakeling), zet die dan in turnstile.assets.resolver:

De resolver krijgt $path en levert een URL die klaar is om in een attribuut te echoen (dus reeds ge-escaped).

Native apps

Een native app kan zelf geen token maken. Publiceer daarvoor de kale brugpagina en laad ze in een onzichtbare WebView:

De pagina stuurt JSON via window.ReactNativeWebView.postMessage: {"status":"ok","token":"..."}, {"status":"error"}, {"status":"interactive"} (toon de WebView) en {"status":"resolved"} (verberg hem weer).

Testen

De fake vervangt de facade, het contract en de concrete klasse, dus ook de validatieregel en code die TurnstileVerifier type-hint zien hem.

Wil je liever op HTTP-niveau blijven, dan werkt Http::fake() gewoon:

Testsleutels van Cloudflare

sitekey secret gedrag
1x00000000000000000000AA 1x0000000000000000000000000000000AA slaagt altijd, onzichtbaar
3x00000000000000000000FF daagt altijd uit
2x0000000000000000000000000000000AA siteverify faalt altijd

Configuratie

De sleutels staan met commentaar in config/turnstile.php. Het vaakst gebruikt: bypass_environments, connect_timeout / http_timeout (samen de harde bovengrens per verificatie), fail_open (doorlaten bij een Cloudflare-storing) en remote_ip.

Er wordt bewust niet opnieuw geprobeerd bij een netwerkfout: een Turnstile-token is eenmalig, dus een tweede poging levert bij een half geslaagde eerste poging gegarandeerd timeout-or-duplicate, en dat is niet van bot-gedrag te onderscheiden.

Licentie

MIT.


All versions of laravel-turnstile with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
guzzlehttp/guzzle Version ^7.9|^8.0
illuminate/contracts Version ^12.0|^13.0
illuminate/http Version ^12.0|^13.0
illuminate/log Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
illuminate/validation Version ^12.0|^13.0
illuminate/view Version ^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package hansdeboeck/laravel-turnstile contains the following files

Loading the files please wait ...