2017 © Pedro PelĂĄez
 

captcha-bundle captcha-bundle

Captcha bundle

image

gregwar/captcha-bundle

Captcha bundle

  • Tuesday, April 24, 2018
  • by Gregwar
  • Repository
  • 9 Watchers
  • 215 Stars
  • 919,492 Installations
  • PHP
  • 20 Dependents
  • 0 Suggesters
  • 93 Forks
  • 41 Open issues
  • 15 Versions
  • 6 % Grown

The README.md

Gregwar's CaptchaBundle

paypal, (*1)

The GregwarCaptchaBundle adds support for a captcha form type for the Symfony form component., (*2)

It uses gregwar/captcha as captcha generator, which is a separate standalone library that can be used for none-symfony projects., (*3)

Compatibility with Symfony

CaptchaBundle Symfony PHP
2.3.* 6.* - 7.* >= 8.0.2
2.2.* 5.* - 6.* >= 7.1
2.1.* 4.* - 5.* >= 7.1
2.0.* 2.8 - 3.* >= 5.3.9
1.* 2.1 - 2.7 >= 5.3.0

Installation

Step 1: Download the GregwarCaptchaBundle

Use composer require to download and install the package. At the end of the installation, the bundle is automatically registered thanks to the Symfony recipe., (*4)

``` bash composer require gregwar/captcha-bundle, (*5)


If you don't use flex, register it manually: ```php <?php // config/bundles.php return [ // ... Gregwar\CaptchaBundle\GregwarCaptchaBundle::class => ['all' => true] ];

Configuration

If you need to customize the global bundle configuration, you can create a /config/packages/gregwar_captcha.yaml file with your configuration: ``` yaml gregwar_captcha: width: 160 height: 50, (*6)


Usage ===== You can use the "captcha" type in your forms this way: ``` php <?php use Gregwar\CaptchaBundle\Type\CaptchaType; // ... $builder->add('captcha', CaptchaType::class); // That's all ! // ...

Note that the generated image will, by default, be embedded in the HTML document to avoid dealing with route and subrequests., (*7)

Options

You can define the following configuration options globally:, (*8)

  • image_folder: name of folder for captcha images relative to public web folder in case as_file is set to true (default="captcha")
  • web_path: absolute path to public web folder (default='%kernel.project_dir%/public')
  • gc_freq: frequency of garbage collection in fractions of 1 (default=100)
  • expiration: maximum lifetime of captcha image files in minutes (default=60)

You can define the following configuration options globally or on the CaptchaType itself:, (*9)

  • width: the width of the captcha image (default=120)
  • height: the height of the captcha image (default=40)
  • disabled: disable globally the CAPTCHAs (can be useful in dev environment), it will still appear but won't be editable and won't be checked
  • length: the length of the captcha (number of chars, default 5)
  • quality: jpeg quality of captchas (default=30)
  • charset: the charset used for code generation (default=abcdefhjkmnprstuvwxyz23456789)
  • font: the font to use (default is random among some pre-provided fonts), this should be an absolute path
  • keep_value: the value will be the same until the form is posted, even if the page is refreshed (default=true)
  • as_file: if set to true an image file will be created instead of embedding to please IE6/7 (default=false)
  • as_url: if set to true, a URL will be used in the image tag and will handle captcha generation. This can be used in a multiple-server environment and support IE6/7 (default=false)
  • invalid_message: error message displayed when an non-matching code is submitted (default="Bad code value", see the translation section for more information)
  • bypass_code: code that will always validate the captcha (default=null)
  • whitelist_key: the session key to use for keep the session keys that can be used for captcha storage, when using as_url (default=captcha_whitelist_key)
  • reload: adds a link to reload the code
  • humanity: number of extra forms that the user can submit after a correct validation, if set to a value different of 0, only 1 over (1+humanity) forms will contain a CAPTCHA (default=0, i.e each form will contain the CAPTCHA)
  • distortion: enable or disable the distortion on the image (default=true, enabled)
  • max_front_lines, max_behind_lines: the maximum number of lines to draw on top/behind the image. 0 will draw no lines; null will use the default algorithm (the number of lines depends on the size of the image). (default=null)
  • background_color: sets the background color, if you want to force it, this should be an array of r,g &b, for instance [255, 255, 255] will force the background to be white
  • background_images: Sets custom user defined images as the captcha background (1 image is selected randomly). It is recommended to turn off all the effects on the image (ignore_all_effects). The full paths to the images must be passed.
  • interpolation: enable or disable the interpolation on the captcha
  • ignore_all_effects: Recommended to use when setting background images, will disable all image effects.
  • session_key, if you want to host multiple CAPTCHA on the same page, you might have different session keys to ensure proper storage of the clear phrase for those different forms

Example :, (*10)

``` php <?php use Gregwar\CaptchaBundle\Type\CaptchaType; // ... $builder->add('captcha', CaptchaType::class, array( 'width' => 200, 'height' => 50, 'length' => 6, ));, (*11)


You can also set these options for your whole application using the `gregwar_captcha` configuration entry in your `config.yml` file: ``` yaml gregwar_captcha: width: 200 height: 50 length: 6

Translation

The messages are using the translator, you can either change the invalid_message option or translate it. Any contribution about the language is welcome !, (*12)

As URL

To use a URL to generate a captcha image, you must add the bundle's routing configuration to your config/routes.yaml file:, (*13)

``` yaml gregwar_captcha_routing: resource: "@GregwarCaptchaBundle/Resources/config/routing/routing.yml", (*14)


This will use the bundle's route of `/generate-captcha/{key}` to handle the generation. If this route conflicts with an application route, you can prefix the bundle's routes when you import: ``` yaml gregwar_captcha_routing: resource: "@GregwarCaptchaBundle/Resources/config/routing/routing.yml" prefix: /_gcb

Since the session key is transported in the URL, it's also added in another session array, under the whitelist_key key, for security reasons, (*15)

Form Theming

The widget support the standard Symfony theming, see the documentation for details on how to accomplish this., (*16)

The default rendering is:, (*17)

``` twig {% block captcha_widget %} {% spaceless %} {{ form_widget(form) }} {% endspaceless %} {% endblock %}, (*18)


Image creation ============== If you choose to use image files instead of embedding the widget will execute a garbage collection randomly and delete images that exceed the configured lifetime. Use internal Quality-Tools ==============

vendor/bin/phpstan analyse vendor/bin/ecs check . ```, (*19)

License

This bundle is under the MIT license. See the complete license in the bundle: LICENSE, (*20)

The Versions

24/04 2018
24/04 2018
28/12 2017
21/09 2016
02/02 2016
30/12 2015
13/12 2015
13/05 2015

v1.1

1.1.0.0 https://github.com/Gregwar/CaptchaBundle

Captcha bundle

  Sources   Download

MIT

The Requires

 

code security symfony2 bot captcha spam visual

27/01 2015

v1.0.12

1.0.12.0 https://github.com/Gregwar/CaptchaBundle

Captcha bundle

  Sources   Download

MIT

The Requires

 

code security symfony2 bot captcha spam visual

19/03 2014

v1.0.11

1.0.11.0 https://github.com/Gregwar/CaptchaBundle

Captcha bundle

  Sources   Download

MIT

The Requires

 

code security symfony2 bot captcha spam visual

14/02 2014

v1.0.10

1.0.10.0 https://github.com/Gregwar/CaptchaBundle

Captcha bundle

  Sources   Download

MIT

The Requires

 

code security symfony2 bot captcha spam visual

14/08 2013

v1.0.8

1.0.8.0 https://github.com/Gregwar/CaptchaBundle

Captcha bundle

  Sources   Download

MIT

The Requires

 

code security symfony2 bot captcha spam visual

24/07 2013

v1.0.7

1.0.7.0 https://github.com/Gregwar/CaptchaBundle

Captcha bundle

  Sources   Download

MIT

The Requires

 

code security symfony2 bot captcha spam visual

29/06 2012

2.0.x-dev

2.0.9999999.9999999-dev https://github.com/Gregwar/ImageBundle

Captcha bundle

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

code security symfony2 bot captcha spam visual

22/06 2012

v1.0.0

1.0.0.0 https://github.com/Gregwar/ImageBundle

Captcha bundle

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

code security symfony2 bot captcha spam visual