Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jublo/catcha
Catch-a spammer with a CAPTCHA.
https://github.com/jublo/catcha
Last synced: about 2 months ago
JSON representation
Catch-a spammer with a CAPTCHA.
- Host: GitHub
- URL: https://github.com/jublo/catcha
- Owner: jublo
- License: gpl-3.0
- Created: 2013-05-22T16:33:52.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-01-20T14:50:21.000Z (almost 11 years ago)
- Last Synced: 2024-04-27T05:05:05.451Z (8 months ago)
- Language: PHP
- Homepage:
- Size: 211 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
catcha
======
*Catch-a spammer with a CAPTCHA.*Copyright (C) 2013-2014 Jublo IT Solutions <[email protected]>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program. If not, see .Please enable the GD extension in your PHP environment.
Getting started
---------------1. Generate a challenge
```
require_once 'catcha.php';$catcha = new Catcha;
$catcha->outputImage();
```2. Store the Catcha object
```
$_SESSION['catcha'] = $catcha;
```3. After the user enters the solution, restore the object
```
$catcha = $_SESSION['catcha'];
```4. Check if the entered result was correct
```
$entered_result = -1;
if (isset($_POST['your_field_name'])) {
$entered_result = intval($_POST['your_field_name']);
}
$catcha_solved = $catcha->isCorrectResult($entered_result);
```Adapting to your needs
----------------------### Set a custom challenge canvas image size
The canvas size defaults to 100 x 25 pixels. Customize the size:
```
$catcha->setImageSize($desired_width, $desired_height);
```### Use a custom font
By default, Catcha uses the Averia Light font licensed under the SIL
Open Font License Version 1.1 (http://scripts.sil.org/OFL).
You may as well use a custom True Type font (*.ttf):```
$catcha->setImageFont($path_to_font);
```### Paint the canvas in a different color
The supported color codes include (upper- and lower case)
- #ffff00
- ffff00
- ff0```
$catcha->setImageColorBackground('#ffff00');
```### Write the equation in a different color
```
$catcha->setImageColorForeground('#ff0000');
```### Generate a new challenge and discard the old one
```
$catcha->newChallenge();
```### Get raw image data without sending to browser
The raw image data are in binary JPEG format, quality 80.
```
$image_data = $catcha->getImage();
```