齐博x1第五季《项目实战-留言板》23-安全过滤2
即时演示地址:http://x1.alaiyeshi.net/msgboard
本节继续上一节的安全方案处理
加入验证码
如果在发送留言时加一个验证码发送,效果会更好。
关于验证码,tp有现成的,我们只需要调用相应的方法就可以了。
我们这里自定义一个验证码,让大家更好的了解验证码的使用:
定义一个验证码方法:
注意这里的config可以调用系统默认的,也可以自定义的,就是一些验证码参数,必不可少:
因为系统默认的有字母和数字,我们这里为了简单方便只需要数字即可。
然后我们再模板那里再定义一个表单元素来输入验证码
只需要利用url调用captcha方法即可,表单命名yzm_code作为后台判断依据
当提交到验证码后,我们继续再数据验证那个checkdata方法里添加对应的判断即可,判断tp都已经存在,我们直接从文档复制过来使用即可
这时如果验证码错误的时候,就会继续返回错误提示了。是不是非常简单。
验证码流程完成后,我们下面还需要优化一些细节,比如验证码为空也要判断一下
所以上面添加一个验证码为空的状态
还有用户,如果闲验证码太麻烦,不用要验证码怎么办呢,所以咱们又需要加开关了。
参数选项,验证码开关的按钮咱们再来一个:
这里我们默认设置关闭状态
所以模版代码又得加判断了
当验证码开启时,即yzm_code为1时,才做验证,否则就跳过。
模板也是一样,如果没有开启,就不显示相关表单,所以我们把验证码参数也传递到模板里
只需要判断参数是否为1即可:
这时验证码关闭时:
验证码开启时:
当我们提交留言后,需要把验证码表单也清空,并且刷新验证码:
我们只要在提交数据后再加上如下两句代码即可
一个是清空验证码表单的值,一个是重新设置img的src属性
到此我们为其命名为留言板1.18版本,即msgboard 1.18
来源: 神盾工作室 转载请注明出处!
查看更多评论