leftclick/real-captcha

易于实现的验证码机制。

dev-master 2014-12-19 09:25 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:19:41 UTC


README

RealCaptcha 是一种易于使用且为您的网站添加真实人类验证的验证码机制。

与大多数验证码机制类似,它通过显示代表代码的生成图像,并将相关所需结果存储在会话中来实现。这个结果可能与代码本身相同,也可能不同,这取决于所使用的代码生成器。可以通过将请求中提交的值与会话中存储的值进行比较来简单地验证用户的输入。

图像上装饰有可配置的噪声,以防止自动代理识别。

代码生成器

代码生成过程是可扩展的。提供一个必须实现以被识别为代码生成器的接口。该接口的抽象实现提供了一个有用的起点。

提供了两种代码生成器的实现

  • Alphanumeric 使用一系列随机字符创建代码,并期望用户输入此代码。
  • Mathematical 使用加法、乘法和减法创建简单的数学方程,并期望用户输入方程的答案。

如“动态”演示页面所示,可以通过传递 URL 参数来实时更改代码生成器。

图像配置

可以通过设置选项来配置图像的几个方面,包括图像大小、用于渲染字符的字体、相对于图像的字体大小、代码的旋转范围、用于各种层的颜色(或颜色范围)、图像格式(png、jpeg 或 gif)等。

层渲染器

图像由层组成,包括代码本身和噪声层。这些层可以以任何顺序堆叠以提供不同的效果(例如,噪声在代码本身之上或之下,或两者都有)。层可以在渲染序列中使用多次,除了代码层,它应该只使用一次。

层渲染器机制也可以通过接口和抽象类进行扩展。例如,可以在背景中添加图像。

图形引擎

处理底层绘图操作的图形层也是抽象的。目前,与 RealCaptcha 一起打包的唯一实现使用 GD 库进行绘图操作。可以轻松添加其他实现,例如利用 ImageMagick 库。

没有重新加载按钮?

此代码中没有生成重新加载按钮。相反,演示部分包含一些示例代码,提供了重新加载按钮。只需更新图像的 URL 为新的随机数即可。通过不在库中内置此功能,它提供了与网站外观、表单布局等完全集成的灵活性。

Composer

"require": {
    //...
    "leftclickcomau/real-captcha": "*"
}

单元测试

要从项目根目录运行单元测试

  1. composer install --dev
  2. phpunit --bootstrap=vendor/autoload.php tests/unit