Skip to content

myaghobi/f3-captcha

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
ui
 
 
 
 
 
 

F3 Captcha

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