帝国论坛帝国网站管理系统交流区帝国CMS使用交流[分享]ECMS V6.0验证码美化 【本版专题贴子】  
 1/3     1 2 3 ›› ›|
主题:[分享]ECMS V6.0验证码美化 [加入收藏夹]   

arts1986
用户头衔:秀才

精华贴   :0
发贴数   :86
经验值   :392
注册时间:2007-09-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[分享]ECMS V6.0验证码美化
首先我承认帝国很强大.
但我一直搞不懂为什么WC没有美化验证码.
而且这个东西和安全性也扯不上多大关系.
所以我参照原文件进行了一些修改,
其实我也只是把图片的背景改了,加多了一些干扰像素,再加入了一些颜色,让它好看了一点点而己.

注:由于我加入太多的干扰像素,所以验证码看起来可能有点太艳了。
大家可以自行修改48行的32和54行的(5, 16)来改变干扰像素的多少

60行代码:                for($i=0; $i <= 32; $i++)
70行代码:                $linenums = mt_rand(5, 16);


下面是一些用到的函数参考.大家可以对比这些函数自行修改文件.



--------------------------------------------------------------------------------

rand -- 产生一个随机数
说明
int rand ( [int min, int max])

如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

mt_rand -- 生成更好的随机数
说明
int mt_rand ( [int min, int max])

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

imagecolorallocate -- 为一幅图像分配颜色
说明
int imagecolorallocate ( resource image, int red, int green, int blue)

imagecolorallocate() 返回一个标识符,代表了由给定的 RGB 成分组成的颜色。image 参数是 imagecreate() 函数的返回值。red,green 和 blue 分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。

注: 第一个对 imagecolorallocate() 的调用填充背景色。

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------
imagecolorallocatealpha -- 为一幅图像分配颜色 + alpha
说明
int imagecolorallocatealpha ( resource image, int red, int green, int blue, int alpha)

imagecolorallocatealpha() 的行为和 imagecolorallocate() 相同,但多了一个额外的透明度参数 alpha,其值从 0 到 127。0 表示完全不透明,127 表示完全透明。

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

imagesetpixel -- 画一个单一像素
说明
int imagesetpixel ( resource image, int x, int y, int color)

imagesetpixel() 在 image 图像中用 color 颜色在 x, y 坐标(图像左上角为 0, 0)上画一个点。

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

imageline -- 画一条直线
说明
int imageline ( resource image, int x1, int y1, int x2, int y2, int color)

imageline() 用 color 颜色从坐标 x1,y1 到 x2,y2(图像左上角为 0, 0)画一条直线。

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

imagearc -- 画椭圆弧
说明
int imagearc ( resource image, int cx, int cy, int w, int h, int s, int e, int color)

imagearc() 以 cx,cy(图像左上角为 0, 0)为中心在 image 所代表的图像中画一个椭圆弧。w 和 h 分别指定了椭圆的宽度和高度,起始和结束点以 s 和 e 参数以角度指定。0°位于三点钟位置,以逆时针方向绘画。

--------------------------------------------------------------------------------

用法:直接覆盖e/ShowKey/下的index.php

注:
因为本验证码加多了干扰像素,所以容易出现看不清楚的情况。
请各位在文件中修改干扰像素点,线,弧的个数,
在9楼的附件我己修改了干扰像素的个数。。这样就看的很清楚了
或在模板里修改验证码显示的代码:
<img src="/e/ShowKey/?v=pl" id="checkcode" onClick="this.src='/e/ShowKey/?v=pl&rand='+Math.random();" style="cursor:pointer;" alt="如果您无法识别验证码,请点图片更换" align="absmiddle" />
可以看演示:http://www.ez029.com/levels/Test/2009/09/19.html

上传以下附件:
[下载 *.rar](文件大小:3.44 KB,下载次数:161)

[该贴被修改 4 次,最后修改时间 2010-03-26 16:19:33 ]



2009-09-29 17:05:46 已设置保密 顶部 回复 引用 报告 编辑 删除

91cms
用户头衔:举人

精华贴   :0
发贴数   :440
经验值   :1194
注册时间:2008-10-10
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

支持




2009-09-29 17:07:51 已设置保密 顶部 回复 引用 报告 编辑 删除

bjeans
用户头衔:举人

精华贴   :0
发贴数   :503
经验值   :1767
注册时间:2006-09-15
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

mark



学习帝国产品,争获“Ecms贡献奖”.
2009-09-29 17:21:24 已设置保密 顶部 回复 引用 报告 编辑 删除

bjeans
用户头衔:举人

精华贴   :0
发贴数   :503
经验值   :1767
注册时间:2006-09-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

白色背景好看点,但是感觉没以前清晰了。。



学习帝国产品,争获“Ecms贡献奖”.
2009-09-29 17:22:17 已设置保密 顶部 回复 引用 报告 编辑 删除

xrnic
用户头衔:秀才

精华贴   :0
发贴数   :118
经验值   :338
注册时间:2008-12-10
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]




安装帝国CMS就用独立IP主机 www.xricp.com
2009-09-29 17:38:07 已设置保密 顶部 回复 引用 报告 编辑 删除

dbhome
用户头衔:秀才

精华贴   :0
发贴数   :141
经验值   :464
注册时间:2009-02-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

支持




2009-09-29 17:41:40 已设置保密 顶部 回复 引用 报告 编辑 删除

czy1206
用户头衔:进士

精华贴   :1
发贴数   :877
经验值   :3741
注册时间:2009-04-20
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

顶顶~~



lvmiu.com 绿缪
2009-09-29 17:51:37 已设置保密 顶部 回复 引用 报告 编辑 删除

lyqw
用户头衔:嘉宾

精华贴   :2
发贴数   :3474
经验值   :7904
注册时间:2007-03-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

这个也可以美化啊



瞎猜网
2009-09-29 18:01:18 已设置保密 顶部 回复 引用 报告 编辑 删除

A君
用户头衔:进士

精华贴   :2
发贴数   :475
经验值   :1956
注册时间:2005-02-24
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

不丑不丑。



I'm aijun.
2009-09-29 18:08:47 已设置保密 顶部 回复 引用 报告 编辑 删除

A君
用户头衔:进士

精华贴   :2
发贴数   :475
经验值   :1956
注册时间:2005-02-24
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

不丑不丑。



I'm aijun.
2009-09-29 18:09:01 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/3     1 2 3 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1