没有外部 API 调用的验证码
Captcha without external API call
我目前正在与一些朋友一起参与一个非常古老的项目,该项目已经几个月无法使用了。我将它托管在我的提供商的免费托管服务上,因为没有人愿意为域和托管付费。
问题就在这里:我有一个联系表,我想用 Google 的 reCaptcha 来保护它。我知道如何让它发挥作用,我以前做过。不幸的是,我的提供商禁止调用任何外部资源...
此外,我无法访问服务器,因此我无法添加任何库或编辑设置(这太容易了......)。 PHP 主机上的版本是 5.1.3(请不要大喊大叫,我知道...)。
那么问题来了:有没有不依赖外部资源,不需要安装库的验证码方案?
谢谢!
您可以使用simple-php-captcha
它允许使用自定义图案和字体,使用起来非常简单:
可以找到Demo和用法here。这是直接来自上述 link:
的摘要
<?php
session_start();
include("simple-php-captcha.php");
$_SESSION['captcha'] = simple_php_captcha();
?>
要显示 CAPTCHA 图像,使用 $_SESSION['captcha']['image_src']
作为 src
属性创建一个 HTML <img>
:
要在下一页加载时(或在 AJAX 请求中)验证 CAPTCHA 值,请针对 $_SESSION['captcha']['code']
进行测试。您可以使用 strtolower()
或 strtoupper()
来执行不区分大小写的匹配。
配置:
$_SESSION['captcha'] = simple_php_captcha( array(
'min_length' => 5,
'max_length' => 5,
'backgrounds' => array(image.png', ...),
'fonts' => array('font.ttf', ...),
'characters' => 'ABCDEFGHJKLMNPRSTUVWXYZabcdefghjkmnprstuvwxyz23456789',
'min_font_size' => 28,
'max_font_size' => 28,
'color' => '#666',
'angle_min' => 0,
'angle_max' => 10,
'shadow' => true,
'shadow_color' => '#fff',
'shadow_offset_x' => -1,
'shadow_offset_y' => 1
));
我目前正在与一些朋友一起参与一个非常古老的项目,该项目已经几个月无法使用了。我将它托管在我的提供商的免费托管服务上,因为没有人愿意为域和托管付费。
问题就在这里:我有一个联系表,我想用 Google 的 reCaptcha 来保护它。我知道如何让它发挥作用,我以前做过。不幸的是,我的提供商禁止调用任何外部资源...
此外,我无法访问服务器,因此我无法添加任何库或编辑设置(这太容易了......)。 PHP 主机上的版本是 5.1.3(请不要大喊大叫,我知道...)。
那么问题来了:有没有不依赖外部资源,不需要安装库的验证码方案?
谢谢!
您可以使用simple-php-captcha
它允许使用自定义图案和字体,使用起来非常简单:
可以找到Demo和用法here。这是直接来自上述 link:
的摘要<?php
session_start();
include("simple-php-captcha.php");
$_SESSION['captcha'] = simple_php_captcha();
?>
要显示 CAPTCHA 图像,使用 $_SESSION['captcha']['image_src']
作为 src
属性创建一个 HTML <img>
:
要在下一页加载时(或在 AJAX 请求中)验证 CAPTCHA 值,请针对 $_SESSION['captcha']['code']
进行测试。您可以使用 strtolower()
或 strtoupper()
来执行不区分大小写的匹配。
配置:
$_SESSION['captcha'] = simple_php_captcha( array(
'min_length' => 5,
'max_length' => 5,
'backgrounds' => array(image.png', ...),
'fonts' => array('font.ttf', ...),
'characters' => 'ABCDEFGHJKLMNPRSTUVWXYZabcdefghjkmnprstuvwxyz23456789',
'min_font_size' => 28,
'max_font_size' => 28,
'color' => '#666',
'angle_min' => 0,
'angle_max' => 10,
'shadow' => true,
'shadow_color' => '#fff',
'shadow_offset_x' => -1,
'shadow_offset_y' => 1
));