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

2022-05-23 作者:torylf 分类:教程 阅读:2396

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


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


禁止相应的ip留言

如果要禁止ip留言,我们就需要获取ip,所以我们先需要在数据表里再加一个字段,来存储ip

我们添加一个from_ip命名的数据表字段

我们在add方法里直接添加一个来源ip即可,不需要在模板操作


使用tp的request->ip即可获取。

我们在后台添加一个ip,查看ip的显示


我们可以看到已经有相关列了,当然我们是新添加的字段,之前的数据就没有相关数据了,新添加的就会出现


我们要ip禁言,就需要一个存储ip的列表,这样才有参照物比对,所以需要添加一个参数选项,用多行文本框来存贮


我们只需要将要禁止的ip按格式填写到这里即可。


前台我们在验证数据checkdata方法里继续添加一个验证ip的操作即可。


我们首先获取文本框内容,用explode方法按行的格式区分,转成数组,并赋值给一个变量,

再用array_filter过滤掉数组的空元素,比如空内容也按照行转成了数组元素,

最后利用in_array方法,判断来源ip是否在参照列表里,如果存在,那么返回错误信息即可,这样非常简单的一个禁言ip就完成了。




默认审核下,如果用户发布一些不当言论如何屏蔽

这个问题本来不好处理,但是因为之前我们做过一个敏感词过滤的插件,所以现在就很容易了。

我们埋了一个相应的钩子:

我们近期也更新了敏感词过滤的插件,使其对留言板支持屏蔽,如此只要在敏感词过滤插件那添加上我们的模块关键字即可支持


比如发布了不当的留言,即会被即时替换掉




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


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

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

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

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

查看更多评论