myaghobi/f3-captcha

A better captcha for Fat-Free Framework.

v1.2.0 2021-05-24 08:10 UTC

This package is auto-updated.

Last update: 2024-04-20 11:11:49 UTC


README

A better captcha for Fat-Free Framework.

screenshot-english screenshot-persian

Config

This plugin is configurable via config file:

[captcha]
LENGTH=5
CASE_SENSITIVE=TRUE
WIDTH=150
HEIGHT=70
FONT=monofont.ttf
FONT_SCALE=0.65
WAVES=TRUE
LETTERS=123456789abcdefghijklmnopkrstuvwxyz
KEY=captcha_code

The above config is the default, you can ignore/remove each one you don't need to change.

Usage

1. Install

If you use composer, run the below code:

composer require myaghobi/f3-captcha

For manual installation:

  1. Copy the content of lib/ folder into your lib/ folder.
  2. Copy content of ui/ into your ui/ folder.

2. Routing

To show the captcha, you need to add a new route:

$f3->route('GET /captcha', 'Captcha->makeCaptchaImage');

3. Serve

Within your controller you need to serve the captcha:

$f3->set('captcha', \Captcha::instance()->serve());

And in your HTML template:

{{@captcha|raw}}

4. Verification

Finally you need to verify entered security code:

if (\Captcha::verify()) {
...

Customization

- Style

The default captcha template can be changed by the developer, check out ui/captcha/captcha.html.

- Font

The default font is monofont.ttf, you can add your font in ui/fonts/ and set the font name in config file.

License

You are allowed to use this plugin under the terms of the GNU General Public License version 3 or later.

Copyright (C) 2021 Mohammad Yaghobi