首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动删除验证码镜像配置项

自动删除验证码镜像配置项
EN

Stack Overflow用户
提问于 2011-12-27 14:57:48
回答 4查看 5.7K关注 0票数 0

我使用来自CodeIgniter的验证码助手为注册用户生成验证码图像。我有一些这样的价值:

代码语言:javascript
复制
$vals = array(
        'word' => $rand_word,
        'img_path' => 'resources/captcha/',
        'img_url' => 'http://localhost/fitinline/resources/captcha/',
        'font_path' => './path/to/fonts/texb.ttf',
        'img_width' => 150,
        'img_height' => 40,
        'expiration' => 7200
    );

当我使用create_captcha($vals)函数生成验证码时,验证码图像会自动保存到'img_path‘。有过期索引,我将其默认值设置为2小时(7200)。但两个多小时后,我检查了'img_path‘中的图像,图像仍然保存在其中。是否缺少任何配置来启用自动删除那些验证码镜像或其他。?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-01 21:06:08

基于CI文档:

代码语言:javascript
复制
$vals = array(
    'word'   => 'Random word',
    'img_path'   => './captcha/',
    'img_url'    => 'http://example.com/captcha/',
    'font_path'  => './path/to/fonts/texb.ttf',
    'img_width'  => '150',
    'img_height' => 30,
    'expiration' => 7200
    );

“过期”(以秒为单位)表示镜像在删除之前将在验证码文件夹中保留多长时间。默认值为两小时。

票数 1
EN

Stack Overflow用户

发布于 2011-12-27 17:29:42

如果没有cron,镜像就不可能在过期时间后自行删除。但是,当有人触发captcha helper时,他会检查是否有任何不应该存在的图像,并将其删除。

假设你已经注册了验证码。我正在创建新帐户。新验证码的过期时间也是7200。你打开你的文件夹,里面有超过7200张验证码的图片,图片仍然在那里。第二天,其他人创建了新帐户,新的验证码也被创建了。但在那一刻,助手看到有不应该在那里的图像(从昨天),他删除了它。

所以你不应该担心,在captcha文件夹中有图像。一旦创建了一些新的验证码并且它们的时间到期,就应该删除它们。您可以签入captcha_helper文件,其中包含以下内容的部分代码:

代码语言:javascript
复制
    // -----------------------------------
    // Remove old images
    // -----------------------------------

如果在helper被触发之前无法waint,您应该创建删除图像脚本并将其添加到cron。

票数 4
EN

Stack Overflow用户

发布于 2011-12-27 17:19:54

验证码是否正常工作?(检查目录权限了吗?)

我不确定这一点,但请尝试将CI指南中提到的create_captcha()结果保存到数据库中。

代码语言:javascript
复制
CREATE TABLE captcha (
 captcha_id bigint(13) unsigned NOT NULL auto_increment,
 captcha_time int(10) unsigned NOT NULL,
 ip_address varchar(16) default '0' NOT NULL,
 word varchar(20) NOT NULL,
 PRIMARY KEY `captcha_id` (`captcha_id`),
 KEY `word` (`word`)
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8641963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档