在使用DedeCMS的过程中,通过自定义表单实现在线留言功能,相较于DedeCMS自带的留言簿模块更加便捷。然而,在实际操作中可能会遇到各种问题。因此,使用DedeCMS的自定义表单来实现留言板功能是一种更为可靠的选择。但是,在使用自定义表单时,如果没有添加验证码,可能会导致网站遭受恶意攻击,短时间内收到数千条无效留言。淘站网在经历这种情况后深刻认识到,无论何种表单,都必须添加验证码以确保安全。

今天,我们将分享如何在DedeCMS的自定义表单中添加验证码的方法。虽然网络上有很多相关教程,但经过测试发现大部分并不适用。淘站网通过深入研究,最终成功解决了这一问题。以下方法基于DedeCMS V5.7 SP1版本,其他版本可作为参考。

一、修改自定义表单控制文件

1. 打开/plus/diy.php文件,在头部任意位置添加代码(如果网站已开通会员功能模块则需添加,未开通则跳过此步骤):


require_once(DEDEINC.'/membermodel.cls.php');
    

2. 完成上述步骤后,查找代码:

elseif($do == 2)
{

在其下方添加以下代码:


$svali = GetCkVdValue();  
if(preg_match("/1/",$safe_gdopen)){
    if(strtolower($vdcode)!=$svali || $svali=='') {
        ResetVdValue();
        ShowMsg('验证码错误!','-1');
        exit();
    }
}
    

修改完成后保存文件并上传。

二、修改自定义表单模板页

1. 引入jQuery文件(如果模板中已包含jQuery文件,则无需重复引入):



    

jQuery下载:jQuery.js文件

2. 在需要插入验证码的位置添加以下代码:




    

3. 在模板底部或头部添加用于判断验证码正确的JavaScript代码:



    

完成以上步骤后,进行测试,效果如下图所示:

DedeCMS自定义表单中添加验证码的方法

至此,您是否已经成功实现了在DedeCMS自定义表单中添加验证码的功能?从此,您的网站将不再担心被恶意提交表单的问题!