Skip to content

Commit

Permalink
New Feature: replace captcha library with open source library. Adds a…
Browse files Browse the repository at this point in the history
…udio support to captcha for accessibility [requires flash on client]

Ported from master-2.x branch

Resolves (Part or all) of bugs:

#0010972: openbase_dir breaks captcha generation
#0008796: The letters in the catchpa on account creation page are too small
#0010976: Remove instances of pass-by-reference (deprecated in PHP 5.3.0)
#0010028: Registrations by bots via captcha exploit
#0008462: Captcha will benefit supporting other than jpeg format
#0008129: Alternative to captchas
  • Loading branch information
mantis committed Oct 15, 2013
1 parent fea3c61 commit 8dd28f8
Show file tree
Hide file tree
Showing 83 changed files with 20,306 additions and 320 deletions.
2 changes: 1 addition & 1 deletion core/print_api.php
Expand Up @@ -276,7 +276,7 @@ function print_email_input( $p_field_name, $p_email ) {
* @param string $p_field_name Name of input tag
*/
function print_captcha_input( $p_field_name ) {
echo '<input id="captcha-field" type="text" name="' . $p_field_name . '" size="5" maxlength="5" value="" />';
echo '<input id="captcha-field" type="text" name="' . $p_field_name . '" size="6" maxlength="6" value="" />';
}

/**
Expand Down
14 changes: 8 additions & 6 deletions library/README.libs
Expand Up @@ -11,6 +11,7 @@ ezc | ez Components | 2009.2.1 | unpatched
phpmailer | PHPMailer | 5.2.6 | unpatched [1]
rssbuilder | RSSBuilder | 2.2.1 | patched [2]
utf8 | phputf8 | 0.5 | unpatched
Securimage | Securimage | 3.5.1 | unpatched
-------------------------------------------------------------------

[1] Library is tracked as a GIT submodule; refer to the corresponding
Expand All @@ -20,9 +21,10 @@ utf8 | phputf8 | 0.5 | unpatched

Upstream projects
==================
adodb - http://adodb.sourceforge.net/ https://github.com/ADOdb/ADOdb
disposable - http://github.com/vboctor/disposable_email_checker/tree/master
ezc - http://ezcomponents.org/
phpmailer - https://github.com/PHPMailer/PHPMailer
rssbuilder - http://code.google.com/p/flaimo-php/
utf8 - http://sourceforge.net/projects/phputf8
adodb - http://adodb.sourceforge.net/ https://github.com/ADOdb/ADOdb
disposable - http://github.com/vboctor/disposable_email_checker/tree/master
ezc - http://ezcomponents.org/
phpmailer - https://github.com/PHPMailer/PHPMailer
rssbuilder - http://code.google.com/p/flaimo-php/
utf8 - http://sourceforge.net/projects/phputf8
secureimage - http://www.phpcaptcha.org/download/
Binary file added library/securimage/AHGBold.ttf
Binary file not shown.
25 changes: 25 additions & 0 deletions library/securimage/LICENSE.txt
@@ -0,0 +1,25 @@
COPYRIGHT:
Copyright (c) 2011 Drew Phillips
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

12 changes: 12 additions & 0 deletions library/securimage/README.FONT.txt
@@ -0,0 +1,12 @@
AHGBold.ttf is used by Securimage under the following license:

Alte Haas Grotesk is a typeface that look like an helvetica printed in an old Muller-Brockmann Book.

These fonts are freeware and can be distributed as long as they are
together with this text file.

I would appreciate very much to see what you have done with it anyway.

yann le coroller
www.yannlecoroller.com
yann@lecoroller.com
181 changes: 181 additions & 0 deletions library/securimage/README.txt
@@ -0,0 +1,181 @@
NAME:

Securimage - A PHP class for creating captcha images and audio with many options.

VERSION: 3.5.1

AUTHOR:

Drew Phillips <drew@drew-phillips.com>

DOWNLOAD:

The latest version can always be
found at http://www.phpcaptcha.org

DOCUMENTATION:

Online documentation of the class, methods, and variables can
be found at http://www.phpcaptcha.org/Securimage_Docs/

REQUIREMENTS:
PHP 5.2 or greater
GD 2.0
FreeType (Required, for TTF fonts)
PDO (if using Sqlite, MySQL, or PostgreSQL)

SYNOPSIS:

require_once 'securimage.php';

$image = new Securimage();

$image->show();

// Code Validation

$image = new Securimage();
if ($image->check($_POST['code']) == true) {
echo "Correct!";
} else {
echo "Sorry, wrong code.";
}

DESCRIPTION:

What is Securimage?

Securimage is a PHP class that is used to generate and validate CAPTCHA images.
The classes uses an existing PHP session or creates its own if none is found to store the
CAPTCHA code. Variables within the class are used to control the style and display of the image.
The class supports TTF fonts and effects for strengthening the security of the image.
An audible code can also be streamed to the browser for visually impared users.


COPYRIGHT:
Copyright (c) 2013 Drew Phillips
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

-----------------------------------------------------------------------------
The WavFile.php class used in Securimage by Drew Phillips and Paul Voegler is
used under the BSD License. See WavFile.php for details.
Many thanks to Paul Voegler (http://www.voegler.eu/) for contributing to
Securimage.

-----------------------------------------------------------------------------
Flash code created for Securimage by Age Bosma & Mario Romero (animario@hotmail.com)
Many thanks for releasing this to the project!

------------------------------------------------------------------------------
Portions of Securimage contain code from Han-Kwang Nienhuys' PHP captcha

Han-Kwang Nienhuys' PHP captcha
Copyright June 2007

This copyright message and attribution must be preserved upon
modification. Redistribution under other licenses is expressly allowed.
Other licenses include GPL 2 or higher, BSD, and non-free licenses.
The original, unrestricted version can be obtained from
http://www.lagom.nl/linux/hkcaptcha/

-------------------------------------------------------------------------------
AHGBold.ttf (AlteHaasGroteskBold.ttf) font was created by Yann Le Coroller and is distributed as freeware

Alte Haas Grotesk is a typeface that look like an helvetica printed in an old Muller-Brockmann Book.

These fonts are freeware and can be distributed as long as they are
together with this text file.

I would appreciate very much to see what you have done with it anyway.

yann le coroller
www.yannlecoroller.com
yann@lecoroller.com

-------------------------------------------------------------------------------
Portions of securimage_play.swf use the PopForge flash library for playing audio

/**
* Copyright(C) 2007 Andre Michelle and Joa Ebert
*
* PopForge is an ActionScript3 code sandbox developed by Andre Michelle and Joa Ebert
* http://sandbox.popforge.de
*
* PopforgeAS3Audio 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.
*
* PopforgeAS3Audio 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 <http://www.gnu.org/licenses/>
*/

-------------------------------------------------------------------------------
Some graphics used are from the Humility Icon Pack by WorLord

License: GNU/GPL (http://findicons.com/pack/1723/humility)
http://findicons.com/icon/192558/gnome_volume_control
http://findicons.com/icon/192562/gtk_refresh

-------------------------------------------------------------------------------
Background noise sound files are from SoundJay.com
http://www.soundjay.com/tos.html

All sound effects on this website are created by us and protected under
the copyright laws, international treaty provisions and other applicable
laws. By downloading sounds, music or any material from this site implies
that you have read and accepted these terms and conditions:

Sound Effects
You are allowed to use the sounds free of charge and royalty free in your
projects (such as films, videos, games, presentations, animations, stage
plays, radio plays, audio books, apps) be it for commercial or
non-commercial purposes.

But you are NOT allowed to
- post the sounds (as sound effects or ringtones) on any website for
others to download, copy or use
- use them as a raw material to create sound effects or ringtones that
you will sell, distribute or offer for downloading
- sell, re-sell, license or re-license the sounds (as individual sound
effects or as a sound effects library) to anyone else
- claim the sounds as yours
- link directly to individual sound files
- distribute the sounds in apps or computer programs that are clearly
sound related in nature (such as sound machine, sound effect
generator, ringtone maker, funny sounds app, sound therapy app, etc.)
or in apps or computer programs that use the sounds as the program's
sound resource library for other people's use (such as animation
creator, digital book creator, song maker software, etc.). If you are
developing such computer programs, contact us for licensing options.

If you use the sound effects, please consider giving us a credit and
linking back to us but it's not required.


0 comments on commit 8dd28f8

Please sign in to comment.