·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

[Discuz!]登录次数限制解决思路

515 1
发表于 2022-9-8 22:05:24 | 显示全部楼层 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
缘由:因为想取消密码错误后,15分钟的限制。在网上找到了以下的修改方法,但是修改后没有任何作用,查看了了DZ的整个流程,找到了合适的修改方法。

方法一(限制ip录入):
    最开始搜索网络教程需要修改 source/function/function_member.php 中有关 900(15分钟) 和 5(次数)即可,结果发现不行 全局找提示文字,发现跟次数提示的变量 loginperm, 全局搜索,source/class/class_member.php 中出现比较多,但还是找不到修改次数和时间的地方 折腾发现在代码里修改次数和时间的方法全部失效,考虑是不是写入本地缓存了,没有在代码里直接写,验证推测失败 思考是不是写到数据库里,检测数据库表,发现 pre_ucenter_failedlogins 在登录失败的时候,会记录次数,并且含有count和ip的变量,推测正确。 登录限制的流程应该是,用户登录失败,程序将该操作写入数据库,再次登录时,从数据库中读取该用户ip和已登录次数,进行比较,超过最大值(5),则进行相应操作。
没找到最大次数限制在哪里设定的,为解决问题,考虑直接禁止程序写入数据库。全局搜索 “count+1” ,最后定为到 uc_client/model/user.php 中数据库操作语句,直接禁用,可以解决问题。

// $this->db->query(“UPDATE “.UC_DBTABLEPRE.”failedlogins SET count=count+1, lastupdate='”.$this->base->time.”‘ WHERE ip='”.$ip.”‘ OR ip=’$username'”);

最后找到了全局配置的文件:uc_client/data/cache/settings.php

方法二(修改登录次数和时间间隔):
    尝试在dz文件 source/function/functionmember.php 中有关 900(15分钟) 和 5(次数),前台没有任何效果。 猜测是在ucenter主要控制
    测试后,发现在ucclient/data/cache/settings.php 文件中第28行变量“loginfailedtime”是控制登陆次数,修改为50”。在ucclient/model/user.php 中第236行变量“$expire”是控制时间间隔,修改为1s。 在source/laguage/lang_member.php修改提醒文字。






转自:技术学习小组http://blog.qiji.tech/archives/1572
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论1

浅生Lv.8 发表于 2022-9-8 22:05:55 | 显示全部楼层
感谢 学习一下
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:18.224.214.215,58.42.14.59,GMT+8, 2024-5-9 10:07 , Processed in 0.245013 second(s), 79 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表