想防止表单被刷,限制IP不行,加验证码不行,限制省份不行,限制次数也不行。IPV4换IPV6啊,那就再整个新的,添加用户UA信息,把恶意UA加入黑名单。
教程开始
1、给表单添加浏览器UA信息。
登录后台 - 模型管理 - 自定义表单管理 - 修改 - 添加新字段
字段名称:UA信息 字段标识:uank 数据类型:单行文本(varchar)
2、打开 /apps/diy.php 搜索
$fieldarr = explode(';', $dede_fields);
在它下面加入
$uank = $_SERVER['HTTP_USER_AGENT'];
完成了。留言以后,能看到用户UA信息,不开心时,你就把TA的UA加入黑名单。
注意:前端代码不变,已经删除《数据校验不对》了,没做的记得跟上步骤。
原始代码
用宝塔的,如果,已安装防火墙。登录宝塔-防火墙-全局设置-UA黑名单 添加就好了。
未安装防火墙
如果,没有安装防火墙,那就原始代码禁止。打开 /apps/diy.php 搜索
$uank = $_SERVER['HTTP_USER_AGENT'];
对的,没错,就是你刚才加的代码,在它下面加入
$cikua = 'compatible|spider|bot|facebook'; $cntet = explode('|',$cikua); for ($i=0;$i<count($cntet);$i++) { if(stripos($uank,$cntet[$i]) !== false || $uank == $cntet[$i]) { showmsg('希望你明天还会来!', '-1'); exit(); } }
说明:$cikua 中的代码,是UA黑名单。用 | 隔开,按格式添加。IPV4换IPV6也能防。
+43 43 个回复 | 最后更新于 2025-01-16
登录后方可回帖