织梦 dedecms 5.7 中文验证码下载

帮客户用织梦5.7做了一个中国林果网,后来有机器注册垃圾会员,尝试了很多种办法防止无效后,就从网上找了个中文验证码,运行时不对,我作了修改了后可以运行,垃圾会员也明显的少了些,现在分享出来。

把文件vdimgck.php和simhei.ttf(字体文件)放在/include下,vdimgck.php文件源码如下:

 代码如下 复制代码

<?php
/**
 * 验证图片
 * 在网上下的,经过阿亮修改
 * 834114969@qq.com
 * http://liuzhiliang.com/
 */
require_once(dirname(__FILE__)."/common.inc.php");
//Session保存路径
$sessSavePath = DEDEDATA."/sessions/";

if(is_writeable($sessSavePath) && is_readable($sessSavePath)){ session_save_path($sessSavePath); }
if(!empty($cfg_domain_cookie)) session_set_cookie_params(0,'/',$cfg_domain_cookie);

session_start();

//获取随机字符
$rndstring = '';
//$ch_h = chr(substr($num,0,2)+160);
//    $ch_l = chr(substr($num,2,2)+160);
function c2ch($num){
    $ch_h = chr(substr($num,0,2)+160);
    $ch_l = chr(substr($num,2,2)+160);
    return $ch_h.$ch_l;
}
function num_rand(){
          mt_srand((double)microtime() * 1000000);
          $d= mt_rand(16,36);
          $n= mt_rand(1,19);
          return c2ch($d*100+$n);
}

for($i=0; $i<4; $i++) $rndstring .= gb2utf8(num_rand());
//如果支持GD,则绘图
if(function_exists("imagecreate"))
{
    //Firefox部份情况会多次请求的问题,5秒内刷新页面将不改变session
    $ntime = time();
    if(empty($_SESSION['securimage_code_value_last']) || empty($_SESSION['securimage_code_value']) || ($ntime - $_SESSION['securimage_code_value_last'] > 1))
    {
        $_SESSION['securimage_code_value'] = strtolower($rndstring);
        $_SESSION['securimage_code_value_last'] = $ntime;
    }
    $rndstring = $_SESSION['securimage_code_value'];
    //创建图片,并设置背景色
    $x_size=80;
    $y_size=25;
    $font='simhei.ttf';
    $im=imagecreate($x_size,$y_size);
    $background_color = imagecolorallocate ($im, 255, 255, 255);

    // 随机颜色
    $fontColor[]  = imagecolorallocate($im, 0x15, 0x15, 0x15);
    $fontColor[]  = imagecolorallocate($im, 0x95, 0x1e, 0x04);
    $fontColor[]  = imagecolorallocate($im, 0x93, 0x14, 0xa9);
    $fontColor[]  = imagecolorallocate($im, 0x12, 0x81, 0x0a);
    $fontColor[]  = imagecolorallocate($im, 0x06, 0x3a, 0xd5);
    $c_fontColor = $fontColor[mt_rand(0,4)];

    imagettftext($im,15,mt_rand(-8,8),6,mt_rand(19,22),$c_fontColor,$font,substr($rndstring,0,3));
    imagettftext($im,15,mt_rand(-8,8),37,20,$c_fontColor,$font,substr($rndstring,6,3));
    imagettftext($im,mt_rand(15,17),mt_rand(-8,8),22,20,$c_fontColor,$font,substr($rndstring,3,3));
    imagettftext($im,mt_rand(15,17),mt_rand(-8,8),54,mt_rand(19,22),$c_fontColor,$font,substr($rndstring,9,3));
    imagerectangle($im, 0, 0, $x_size - 1, $y_size - 1,$black);

    header("Pragma:no-cachern");
    header("Cache-Control:no-cachern");
    header("Expires:0rn");

    //输出特定类型的图片格式,优先级为 gif -> jpg ->png
    if(function_exists("imagejpeg"))
    {
        header("content-type:image/jpegrn");
        imagejpeg($im);
    }
    else
    {
        header("content-type:image/pngrn");
        imagepng($im);
    }
    ImageDestroy($im);
    exit();
}
else
{
    //不支持GD,只输出字母 ABCD
    $_SESSION['securimage_code_value'] = "abcd";
    $_SESSION['securimage_code_value_last'] = '';
    header("content-type:image/jpegrn");
    header("Pragma:no-cachern");
    header("Cache-Control:no-cachern");
    header("Expires:0rn");
    $fp = fopen("data/vdcode.jpg","r");
    echo fread($fp,filesize("data/vdcode.jpg"));
    fclose($fp);
    exit();
}

?>

完整中文验证码下载地址:http://file.111cn.net/download/2013/06/25/vdimgck.zip

时间: 2024-10-14 04:16:04

织梦 dedecms 5.7 中文验证码下载的相关文章

织梦dedecms后台验证码错误问题集合及解决方法

织梦dedecms后台验证码持续错误问题 相信很多用户,在织梦后台登录的时候,会遇到验证码无法显示或者持续错误等等的问题,那么这个问题到底应该如何来解决呢.这里有几个小技巧和原因. (1)空间已满 第一个原因相信一般都是很难发生的,那就是您的主机空间是否已经满了,这个是基本的导致这个问题的罪魁祸首. (2)清除缓存 就像浏览器一样,长久的访问一个网站,浏览器会自动将此网站识别为经常访问的网站而存储在缓存里,这样的话,所导致的就是您输入再多次的验证码得到的结果都是错误的.那么,该如何来进行缓存的清

Nginx系统中织梦Dedecms的安全设置

首先需要说明的是,任何程序都是有漏洞的,我们需要做好一些必要的防范,来减少由于程序漏洞造成的损失.织梦的漏洞多,这个是很多人的想法.不过大家如果做好了织梦系统的文件夹权限什么的设置,很多漏洞也是用不上的. 这些安全措施,织梦官方已经给出过很多教程了,如织梦后台中uploads等文件夹执行php文件权限的问题.今天主要说的就是Nginx下取消织梦uploads文件夹权限的问题.如果是在Apache中,可以在.htaccess中通过如下的代码解决:  代码如下 复制代码 RewriteEngine

关于织梦DEDECMS robots文件设置的想法

用织梦DEDECMS建站的站长会发现,DEDECMS自带的robots.txt文件设置很简单(开发者基于每个网站的目录结构和优化目的不同的考虑),并不能完全满足网站的优化要求,那怎样才能结合自己网站的情况,做好robots.txt优化呢?以下介绍一点自己的想法,仅供参考. 适用于未伪静态的DEDECMS网站. User-agent: * Disallow: /dede 管理后台目录,需要改名,具体设置后面具体讲 Disallow: /include 程序核心文件目录 Disallow: /mem

织梦DedeCMS V5.7添加导航条下拉子菜单方法

在dedecms5.5中官方模板里设置了下拉菜单的显示,但是之后的几个版本里面下拉菜单就没有再用在模板上了,早前几天,部落听到几个使用织梦DedeCMS V5.7模板问到这个问题,网上找了一下,有一个方法比较靠谱,大家可以参考一下. 首先你需要把DedeCMS5.6程序文件夹\dede\img里的mmenubg.gif(绿色背景图片,适用于绿色主题模板)或者DedeCMS5.5程 序文件夹\templets\images里的mmenubg.gif(蓝色背景图片,适用于蓝色主题模板)复制到Dede

织梦dedecms文章页SEO四点优化提高百度收录率

织梦dedecms是广大站长比较熟悉的.国内比较知名的内容管理系统了,也是广大站长朋友选择最多的一款cms系统,笔者的站点www.shuashoucang.net就是采用dedecms进行搭建,这次跟大家探讨分享的是织梦内容页的几个SEO细节优化,提高"原创度",来提升百度收录率,由于笔者并非专业SEO人员,因此本文观点也只代表作者本人的一点看法,同时也欢迎广大站长朋友批评指正. 一.文章页H1标签的优化: H1标签代表最重要的,用来修饰网页的主标题,用过dedecms的朋友都知道,系

php5.4 织梦dedecms后台登录空白

  linux,php5.4, 织梦dedecms后台登录空白,原因: include/userlogin.class.php,里面有一个keepuser()函数,是用session_register来注册一个session变量,但是在php5.4中已经移除了这个功能  代码如下   把@session_register($this->keepUserIDTag);    注释掉,然后改为 if (!isset($_SESSION[$this->keepUserIDTag])) 如下: if

织梦dedecms不同页面使用不同ueditor编辑器配置

中介交易 SEO诊断 淘宝客 云主机 技术大厅 昨天,我为大家介绍了织梦dedecms下使用百度ueditor时针对不同页面使用不同编辑器宽度的方法,虽然这个方法很实用,但其局限性也比较强:只能设置宽度,不能进行其它个性配置.下面再来为大家介绍一个对ueditor进行页面个性配置的方法,即不同页面使用不同的配置,我想这个方法应该能解决各位站长朋友的很多问题了,至于你更喜欢哪种方法,那就仁者见仁了. 下图是小创意网使用百度ueditor时使用不同配置的截图: 对前台编辑器进行配置,取消其附件上传和

织梦dedecms 5.7 GBK按照字母搜索的实现方法

目前织梦dedecms v5.7已正式发布,但在实际的使用环境中往往我们需要进行一些特定功能的实现,比如按照字母搜索等,下面我们来说一下该功能是如何实现的,主要的方法就是提取发布资源中第一个字母,存储到数据表中,然后进行索引. DedeCMS 基于PHP和MySQL技术开发,可同时使用于Windows.Linux.Unix平台,环境需求如下: 1.Windows 平台:    IIS/Apache + PHP4/PHP5 + MySQL3/4/5    如果在windows环境中使用,建议用De

数据-求教啊?用织梦dedecms修改后台系统基本参数时出现页面布局乱了

问题描述 求教啊?用织梦dedecms修改后台系统基本参数时出现页面布局乱了 哪位高手能给指点一下吗?本人新手最近用dedecms在已建好的模板上修改,但是修改系统基本参数或者对应的数据库表中数据时网页布局就会乱掉,而且{dede:}标签在调用数据库表中数据时有的不能正常调用,为什么啊?是原作者做了什么权限吗? 解决方案 这个看你修改的基本参数是哪一些基本参数了,乱改肯定会出问题