`
wangking717
  • 浏览: 262577 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

写了一个PHP随机问答验证码,安全性个人认为还是不错的。

PHP 
阅读更多

wangking717 写道
安全特点一:

1.生成的内容不是最终结果,而是一个问答系统,需要用户回答该问题,安全系数较传统验证码更为严谨。

2.生成的每个数字的颜色,字体,位置都是随机的,这样别人很难捕获到程序的规则。(干扰线就没去弄了)

 

如果有什么好的提议,可以留言,一起改善代码:

<?php  
//$i为要写在画板的位置,$num为要写的文字  
function rand4string($i,$num){  
    global $image_width,$image_height,$img;  
    $font=mt_rand(3,5);  
    $x=mt_rand(1,8)+$image_width*$i/6;  
    $y=mt_rand(1,$image_height/4);   
    $color=imagecolorallocate($img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));  
    imagestring($img,$font,$x,$y,$num,$color);  
}  
session_start();  
header("content-type:image/png");  
$image_width=80;  
$image_height=18;  
$img = imagecreate($image_width,$image_height);  
imagecolorallocate($img,255,255,255);  
$random4symbol = array("+","-","x");    //三个符号进行循环  
$result = 0;  
$symbol = $random4symbol[mt_rand(0,count($random4symbol)-1)];  
$num1 = mt_rand(1,9);  
rand4string(0,$num1);  
$num2 = mt_rand(1,9);  
switch ($symbol){  
    case "+":  
        $result = $num1 + $num2;  
        rand4string(1,"+");  
        break;  
    case "-":  
        $result = $num1 - $num2;  
        rand4string(1,"-");  
        break;  
    case "x":  
        $result = $num1 * $num2;  
        rand4string(1,"x");  
        break;  
}  
rand4string(2,$num2);  
rand4string(3,"=");  
rand4string(4,"?");  
$_SESSION['code'] = $result;  
imagepng($img);  
imagedestroy($img);  
?>  

 

打完收工。。呵呵。

分享到:
评论
2 楼 521069108 2011-09-21  
估计要存数据库才能实现我说的那样 - 0
1 楼 521069108 2011-09-21  
唔,有点意思,能只能增加中文回答之类的不呢?

相关推荐

    PHP随机验证码含有5种样式

    在PHP中实现验证码功能,可以有效地增加网站的安全性。本篇文章将深入探讨PHP实现的五种不同类型的验证码,包括中文、英文以及数字验证码。 首先,我们来了解一下验证码的基本原理。验证码通常由一串随机生成的字符...

    php动态随机生成验证码类

    本主题聚焦于PHP实现的动态随机验证码类,这是一个非常实用的技术,尤其对于PHP开发者来说,理解并掌握其工作原理和实现方法至关重要。 验证码的核心功能是生成难以被机器识别的图片,同时对人类用户友好。这个PHP...

    PHP生成随机验证码

    本篇文章将深入探讨如何在PHP中创建一个随机验证码,包括所需的技术、配置和实现细节。 首先,生成随机验证码的关键是GD库,这是一个PHP的图形处理扩展,允许我们创建和修改图像。在使用PHP生成验证码之前,必须...

    PHP语言编写的随机验证码的生成

    在PHP编程中,生成随机验证码是一项常见的任务,用于防止机器人自动提交表单或者增加网站安全性。验证码(CAPTCHA)是一种全自动区分计算机和人类的图灵测试,它的主要目的是确保用户是真实的人,而不是自动化程序。...

    php随机产生验证码的程序

    在PHP中,生成验证码是一种常见的...通过学习和理解这段代码,你可以了解到如何利用PHP和GD库生成验证码,并应用于实际项目中,提高网站的安全性。同时,这也是一个很好的实践项目,帮助你提升PHP编程和图像处理技能。

    php 随机生成数字验证码

    为增加安全性,我们还可以在图像上添加一些随机的干扰线和点: ```php for ($i = 0; $i ; $i++) { $line_color = imagecolorallocate($image, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255)); imageline($...

    php验证码类 php中文验证码

    总的来说,创建PHP中文验证码类涉及到图像处理、字符生成、会话管理等多个方面,理解并掌握这些知识点对于提升Web应用的安全性至关重要。通过自定义验证码类,开发者可以根据项目需求进行定制化设计,比如调整验证码...

    分享一个漂亮的php验证码类

    这就是一个基本的PHP验证码类的使用方式,它可以提升网站的安全性,同时通过自定义设计,还可以使验证码看起来更美观,提升用户体验。当然,随着技术的发展,现在也有更多高级的验证码解决方案,如谷歌的reCAPTCHA,...

    php动态随机生成验证码类.zip

    为了增加安全性,可以混合大小写字母和数字,甚至包括特殊字符。 3. **创建图像**:使用GD库(PHP的一个图形处理库)创建一个新的图像资源,设置图像的宽度和高度。通常验证码图像会比实际验证码字符的宽度稍大,以...

    PHP语音验证码和PHP图片验证码

    1. 生成随机字符串:同图片验证码,首先需要生成一个安全的字符串。 2. 文本转语音(TTS):使用PHP的Text-to-Speech库,如eSpeak或Festival,将字符串转换为音频文件。 3. 提供下载或流式传输:将生成的音频文件...

    好用的php验证码类库.zip

    1. **生成验证码**:这个过程涉及到随机字符串或数字的生成,通常结合特定的字体、颜色和背景来增加难度,使得机器难以自动识别。在"好用的php验证码类"中,可能会有一个`generate()`方法用于创建验证码。 2. **...

    php高安全验证码生成类

    通过以上方法,我们可以构建一个具有较高安全性的PHP验证码生成类,有效防止自动化攻击,保护Web应用的安全。在实际项目中,根据需求调整参数,平衡安全性和用户体验,是实现验证码功能的关键。

    php验证码,php验证码类

    为了增加安全性,可以混合大小写字母和数字,并确保字符串长度适中,例如4-6位。 2. **图像处理**:生成的随机字符串需要显示在图像上。PHP的GD库或者Imagick扩展可以用来创建图像。首先创建一个指定宽度和高度的...

    php验证码简单源码

    虽然这个验证码源码简单,但安全性较低,因为它没有对验证码进行加密。在实际应用中,考虑到安全性和用户体验,可以考虑以下优化: - 使用更复杂的字符串生成算法,提高破解难度。 - 实现图片验证码的动态加载,防止...

    使用php制作随机验证码

    在PHP中创建一个随机验证码是一项常见的任务,常用于防止机器人自动提交表单或者增加网站安全性。下面我们将详细探讨如何利用PHP实现这一功能,以及描述压缩包中的文件。 首先,验证码的核心在于生成一串随机字符串...

    php一个精致的验证码类(生成验证码,验证验证码)

    本篇文章将围绕标题“php一个精致的验证码类(生成验证码,验证验证码)”进行详细讲解,探讨如何创建一个高效、实用的验证码生成器。 首先,我们需要了解GD库。GD是PHP中常用的图像处理库,它支持多种图像格式,...

    PHP实现的验证码类库

    通过这个PHP验证码类库,开发者可以快速集成验证码功能,提升网站的安全性,同时也能深入理解PHP的图像处理和session管理等核心概念。在实际应用中,可以根据具体需求对类库进行扩展和定制,以达到最佳的用户体验和...

    php精美10个验证码

    此外,还可以结合现代验证码服务,如reCAPTCHA,它是由Google提供的一个服务,通过AI技术来判断用户是否为真实的人类,既提高了安全性,也简化了用户界面。不过,本文主要关注的是PHP自制验证码的方法和技巧。

    php源码 验证码 类

    验证码在Web开发中扮演着重要的角色,主要用于防止自动机器人、恶意攻击或垃圾信息的提交。在PHP中,验证码类的创建通常涉及到...开发者在编写此类时,需要综合考虑安全性、效率和易用性,确保验证码功能的可靠和实用。

    一个php验证码生成类代码.zip

    这个“一个php验证码生成类代码.zip”压缩包中包含了一个PHP验证码生成类,它能够帮助开发者轻松地创建具有背景、干扰元素和随机文本的图像验证码。 验证码类通常包括以下几个核心功能: 1. **生成随机字符串**:...

Global site tag (gtag.js) - Google Analytics