IconCaptcha Plugin JQuery PHP Versions Save

A self-hosted, customizable, easy-to-implement and user-friendly captcha for PHP.

4.0.3

4 months ago

This release removes the request timestamp check due to it being unreliable when either the browser or server clock is slightly out of sync.

4.0.2

5 months ago

This release addresses a bug where an exception would be thrown when validating a completed challenge while having the Token option configured to be disabled. Even though the option was disabled and no token was generated or sent to the server, an attempt would still be made to validate it, resulting in an error.

4.0.1

5 months ago

This release addresses a bug related to reading the width of the challenge image. In some cases, the challenge image width returns a floating number. This should be an integer, so the number is now always being rounded to an integer.

4.0.0

6 months ago

It's finally here, IconCaptcha 4! 🎉

This new major version of IconCaptcha introduces significant enhancements to the architecture and feature set, and offers greater flexibility and customization, alongside improved security. IconCaptcha can now also be installed via Composer, allowing for easier integration into your application.

For a full list of commits and changes, please refer to the full commit changelog.

Added

  • IconCaptcha is now available on Packagist, allowing installation via Composer.
  • Added database support for MySQL, PostgreSQL, SQL Server and SQLite to store challenge and timeout data.
  • Added support for ImageMagick to generate challenge images.
  • Added support for implementing custom drivers to handle storage, sessions, challenge generation and timeouts.
  • Added server-side hooks to execute custom code at specific points during challenge generation and validation steps.
  • Added support for Cross-Origin Resource Sharing (CORS).

Changed

  • Expanded and improved the server-side configuration file with numerous options and descriptions.
  • Code related to handling captcha requests has been moved to a dedicated class for easier implementation.
  • Changed the way IconCaptcha instances must be initialized while validating challenges, moving away from static function calls.
  • Validation of a captcha now returns error codes instead of error messages.
  • Challenge images are now returned as base64 strings instead of image links.
  • The default widget selector changed to .iconcaptcha-widget.
  • Widgets now use unique UUIDv4 widget and challenge identifiers instead of incremental integers.
  • Renamed several client-side widget configuration options.

Removed

  • Removed the legacy-light and legacy-dark themes.
  • Removed support for Internet Explorer now that it has been officially discontinued by Microsoft.

3.1.3

6 months ago

The previous icon set has been replaced with a new selection of 250 icons created by BlendIcons.

Please note that this update is exclusively about icon replacements and does not include any code changes. Therefore, there's no need to update other source or asset files.

To update your IconCaptcha implementation with the new icon set, follow these steps:

  1. Download the latest repository version.
  2. Replace your current /icons folder with the one located in /assets/icons of the repository.

The original icon replacement commit happened in v3.1.3 of the widget package.

3.1.2

1 year ago
  • Added the 'available icons count' as a config option, instead of having the amount hard-coded as a constant.

  • Fixed nested default options not properly merging with custom options.

  • Using __DIR__ magic constant instead of dirname(__FILE__) for the assets path.

  • Converted all default icons to using True Color.

    • Note: This is quick fix for new installations of IconCaptcha. As pointed out in several issues and a pull request (https://github.com/fabianwennink/IconCaptcha-Plugin-jQuery-PHP/pull/28), there is a strange issue with the GD imagerotate function, which sometimes breaks on specific environments or versions. Using imagepalettetotruecolor prior to rotating the icons seems to solve this issue, as pointed out in the pull request. As it's still being decided if imagepalettetotruecolor should be used, this is a quick fix for new installations using only the default icons.
  • Updated the widget assets to 3.1.1

3.1.1

1 year ago

Fixed bug which sometimes broke challenge generation on PHP 8.1

Sometimes on PHP 8.1, the challenge image would not generate and instead show a broken image. This bug was caused by a deprecation warning, which is thrown when floats are implicitly converted to integers (deprecated: Implicit conversion from float to int loses precision). It only occurred when generating challenges with uneven icon amounts.

Other:

  • Moved example assets to the 'examples' folder.
  • The placeholder.png is no longer located in the 'assets/icons' folder. In your implementation, please move the placeholder.png 1 folder up. Check the source code for the new location, if you are unsure where the placeholder.png should be placed from now on.

3.1.0

1 year ago

Updated to IconCaptcha front-end package 3.1.0

Version 3.1.0 of the IconCaptcha front-end package version 3.1.0 added the functionality to reset specific captcha instance, or every captcha instance present on the page as discussed in issue https://github.com/fabianwennink/IconCaptcha-Plugin-jQuery-PHP/issues/11.

Other:

  • Updated the CSRF token generation with additional fallbacks.
  • Made a small change to the session class regarding the session key.

3.0.1

2 years ago

Updated to IconCaptcha front-end package 3.0.1

Version 3.0.1 of the IconCaptcha front-end package version 3.0.1 fixed the following issues: https://github.com/fabianwennink/IconCaptcha-Plugin-jQuery-PHP/issues/7 & https://github.com/fabianwennink/IconCaptcha-Plugin-jQuery-PHP/issues/9.

Other:

  • Bumped version to 3.0.1
  • Updated copyright year to 2022

3.0.0

2 years ago

In version 3 of IconCaptcha, the whole plugin got an overhaul - both client-side and server-side. With better security features, more customizations/options, new themes, no more jQuery dependency and 180 icons, version 3 is the biggest change to IconCaptcha yet.

  • No longer required to use jQuery, although IconCaptcha can still be used with jQuery.
  • More captcha image generation options to increase the difficulty.
  • Automatic captcha invalidation after a period of no user interaction.
  • Automatic timeouts when too many incorrect selections were made by the user.
  • New light and dark themes with more modern designs, with improved support for custom themes.
  • Includes 180 new modern icons, created by Streamline.
  • Better stability, general code improvements and bug fixes.

Uses assets from the IconCaptcha front-end package version 3.0.0.