蓝莓博客

  • 今天是

织梦留言板添加验证码的方法

摘要:在用DedeCMS的时候,通过自定义表单来做在线留言,这个确实比织梦自带的留言簿模块要方便,但是实现起来还是诸多bug。所以还是用Dede的自定义表单来实现比较靠谱,但是使用自定义......
分享到:

在用织梦的时候,大家一般都会用到留言板,但织梦自带的留言板有太垃圾了,这个时候我们就要用到自定义表单,但是使用自定义表单呢又因为没有验证码功能,会导致你的网站被人的恶意攻击,给你添加了上千条留言,这样会比较头疼,只好去数据库中批量删除,所以就有必要给留言板添加验证码功能,我们肯定会问怎么添加呢,请看下面

DedeCMS版本为DedeCMS V5.7 ,大家可以参考一下。

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

1.打开/plus/diy.php文件,在头部随意位置加上代码(网站开通了会员功能模块必加,没有开通会员功能则略过此步):

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

2.加完上述代码之后,查找代码:

else if($do == 2){

{

在下面加上代码:

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

修改之后保存文件并上传。

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

1.引入jQuery文件(如果模版中已经引用了jQuery文件,则忽略此步。):

<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/js/jquery.js"></script>

2.在需要插入验证码的地方加上代码:

<input id="vdcode"style="width: 50px; text-transform: uppercase;" type="text" name="vdcode" />
<img id="vdimgck" style="cursor: pointer;" onclick="this.src=this.src+'?'" src="/include/vdimgck.php" align="absmiddle" />

3.添加判断验证码正确的js代码带模版底部或头部:

<script type="text/javascript">
// <![CDATA[
$ = jQuery;
function changeAuthCode() {
var num = 
new 
Date().getTime();
var rand = Math.round(Math.random() * 
10000
);
num = num + rand;
$(
'#ver_code'
).css(
'visibility'
,
'visible'
);
if 
($(
"#vdimgck"
)[
0
]) {
$(
"#vdimgck"
)[
0
].src = 
"../include/vdimgck.php?tag="
 
+ num;
}
return false
;
}
</script>

完成后,测试一下,效果如下图:


织梦留言板添加验证码的方法_蓝莓博客

是不是完美实现了自定义表单中添加验证码功能?妈妈再也不怕我的网站被恶意提交表单了!

来源于蓝莓原文地址: http://www.xiyi88.cn/xq/dede_1156.html