论坛中为了防止灌水,出现了非常多的验证码的插件。如今这里介绍一个非常easy的自己定义验证码函数,这个验证码实现的原理就是通过php扩展的gd库来实现的。

给出百度百科对验证码的定义“验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自己主动区分计算机和人类的图灵測试)的缩写,是一种区分用户是计算机还是人的公共全自己主动程序。能够防止:恶意破解password、刷票、论坛灌水,有效防止某个黑客对某一个特定注冊用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是如今非常多站点通行的方式(比方招商银行的网上个人银行。百度社区)。我们利用比較简易的方式实现了这个功能。

通过上面的介绍。事实上验证码就是一种编码。这样的编码用来放置机器人来暴力破解的。能够是一些难以识别的图像,也能够是一些交互工作,或者一些图形计算公式。

以下给出简易php验证码:

<?

php
function image_code($length)
{
header('Content-Type: image/png');
$rand = '';
for($i=0;$i<$length;$i++)
{
$rand .= dechex(rand(0,15));
}
$im = imagecreatetruecolor(75,25);
$blue = imagecolorallocate($im,0,102,255);
imagefill($im,0,0,$blue);
$white = imagecolorallocate($im,255,255,255);
imageline($im,0,0,20,20,$white);
imageline($im,0,2,75,20,$white);
imagestring($im,5,0,0,"$rand",$white);
imagepng($im);imagedestroy($im);
}
? >


截图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnVqaWFmZWlodWR1aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

php 简易验证码(GD库)的更多相关文章

  1. php学习笔记:利用gd库生成图片,并实现随机验证码

    说明:一些基本的代码我都进行了注释,这里实现的验证码位数.需要用的字符串都可以再设置.有我的注释,大家应该很容易能看得懂. 基本思路: 1.用mt_rand()随机生成数字确定需要获取的字符串,对字符 ...

  2. PHP5 GD库生成图形验证码(汉字)

    PHP5 GD库生成图形验证码且带有汉字的实例分享. 1,利用GD库函数生成图片,并在图片上写指定字符imagecreatetruecolor 新建一个真彩色图像imagecolorallocate ...

  3. php笔记之GD库图片创建/简单验证码

    燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it php画图:比如说验证码,缩略图,加水印都要用到GD库,所以要开启gd2库,才能用 首先找到php.in ...

  4. php中运用GD库实现简单验证码

    昨天学习了运用php的GD库进行验证码的实现. 首先可以用phpinfo()函数看一下GD库有没有安装,我用的wampserver是自动给安装的. 主要的步骤是: 1.生成验证码图片 2.随机生成字符 ...

  5. PHP验证码生成及图片处理(GD库)

    GD库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片,也可以给图片加水印. 本章实现了生成图片并绘画各种形状.图片的压缩.中文字符水印及图片水印 ...

  6. 【PHP】使用GD库实现 图像生成、缩放、logo水印和简单验证码

    gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展, windows系统下需要在php.ini中将ex ...

  7. PHP利用GD库绘图和生成验证码图片

    首先得确定php.ini设置有没有打开GD扩展功能,測试例如以下 print_r(gd_info()); 假设有打印出内容例如以下,则说明GD功能有打开: Array ( [GD Version] = ...

  8. GD库的基本信息,图像的旋转、水印、缩略图、验证码,以及图像类的封装

    GD库检测 <?php phpinfo(); ?> GD库安装• Windows 使用phpstudy • Linux 编译安装 –with-gd• Linux 编译安装扩展 GD库支持的 ...

  9. 安装GD库解决ThinkPHP 验证码Call to undefined function Think\imagecreate()出错

    在php中imagecreate函数是一个图形处理函数,主要用于新建一个基于调色板的图像了,然后在这个基础上我们可以创建一些图形数字字符之类的,但这个函数需要GD库支持,如果没有开启GD库使用时会提示 ...

随机推荐

  1. BFS寻路的AS3实现

    关于BFS的相关知识由于水平有限就不多说了,感兴趣的可以自己去wiki或者其他地方查阅资料. 这里大概说一下BFS寻路的思路,或者个人对BFS的理解: 大家知道Astar的一个显著特点是带有启发函数, ...

  2. xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)

    链接地址:http://blog.csdn.net/mad1989/article/details/8167529 打包发布APP流程真机测试和APP发布流程APP提交审核流程真机测试打包发布上传出错 ...

  3. Hbiernate关联排序问题

    使用场景: 假设有两张表请求信息.账户表,它们之间是一对多的关系.对应的java类分别为Sfcx_RequestInfo和Sfcx_Zhxx.Sfcx_RequestInfo有一个Set属性 sfcx ...

  4. 使用开源的PullToRefreshScrollView scrollTo和scrollby遇到的问题

    在项目中使用了开源的com.handmark.pulltorefresh.library 下拉刷新组件,当中使用了PullToRefreshScrollView ,须要调用scrollTo或者scro ...

  5. 最大似然预计(Maximum likelihood estimation)

    一.定义     最大似然预计是一种依据样本来预计模型參数的方法.其思想是,对于已知的样本,如果它服从某种模型,预计模型中未知的參数,使该模型出现这些样本的概率最大.这样就得到了未知參数的预计值. 二 ...

  6. Swift - 后台获取数据(Background Fetch)的实现

    前面讲了如何让程序申请后台短时运行.但这个额外延长的时间毕竟有限.所以从iOS7起又引入两种在后台运行任务的方式:后台获取和后台通知. 1,后台获取介绍 后台获取(Background Fetch)是 ...

  7. ImageMagick wrapper for php

    https://code.google.com/archive/p/phmagick/

  8. Ace of Aces

    Description There is a mysterious organization called Time-Space Administrative Bureau (TSAB) in the ...

  9. Servlet过滤器——创建过滤器

    1.概述 介绍如何创建一个过滤器,并使用过滤器在打开页面的同时输出信息,此功能是由过滤器处理完成的. 2.技术要点 Serlvet过滤器实现了Filter接口,在Filter接口中定义了以下几个方法: ...

  10. JQuery和JSON方式参数传递并处理JAVAWEB中文乱码问题

    本文主要讲springMVC中视图和控制器之间常用的两种传递参数的方式: 1.JQuery 2.JSON 一.JQuery方式 思路:单击按钮后,触发JQuery事件,而提交整个表单 JSP中 < ...