齐博x1第五季《项目实战-留言板》23-安全过滤2

2022-05-22 作者:torylf 分类:教程 阅读:1361

即时演示地址:http://x1.alaiyeshi.net/msgboard


本节继续上一节的安全方案处理

加入验证码

如果在发送留言时加一个验证码发送,效果会更好。

关于验证码,tp有现成的,我们只需要调用相应的方法就可以了。


我们这里自定义一个验证码,让大家更好的了解验证码的使用:

定义一个验证码方法:

注意这里的config可以调用系统默认的,也可以自定义的,就是一些验证码参数,必不可少:

因为系统默认的有字母和数字,我们这里为了简单方便只需要数字即可。

然后我们再模板那里再定义一个表单元素来输入验证码

只需要利用url调用captcha方法即可,表单命名yzm_code作为后台判断依据

当提交到验证码后,我们继续再数据验证那个checkdata方法里添加对应的判断即可,判断tp都已经存在,我们直接从文档复制过来使用即可



这时如果验证码错误的时候,就会继续返回错误提示了。是不是非常简单。


验证码流程完成后,我们下面还需要优化一些细节,比如验证码为空也要判断一下

所以上面添加一个验证码为空的状态

还有用户,如果闲验证码太麻烦,不用要验证码怎么办呢,所以咱们又需要加开关了。

参数选项,验证码开关的按钮咱们再来一个:

这里我们默认设置关闭状态



所以模版代码又得加判断了


当验证码开启时,即yzm_code为1时,才做验证,否则就跳过。

模板也是一样,如果没有开启,就不显示相关表单,所以我们把验证码参数也传递到模板里

只需要判断参数是否为1即可:

这时验证码关闭时:


验证码开启时:


当我们提交留言后,需要把验证码表单也清空,并且刷新验证码:

我们只要在提交数据后再加上如下两句代码即可

一个是清空验证码表单的值,一个是重新设置img的src属性





到此我们为其命名为留言板1.18版本,即msgboard 1.18

来源: 神盾工作室    转载请注明出处!

本文地址:https://www.shieldsoho.com/article/163.html

 标签: 模块开发 齐博X1
{{item.nickname}} @回复
发表于{{item.create_time}}

  • {{replyitem.nickname}} {{item.create_time}}
    @{{item.nickname}}

查看更多评论