·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

普通注册用户【非管理员】能查到所有的ip登录记录吗 New

167 2

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

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

×
普通注册用户【非管理员】能查到所有的ip登录记录吗
注册IP和上次IP能看到
普通注册用户【非管理员】不知道是否有办法查到所有的ip登录
我知道答案 回答被采纳将会获得1 贡献 已有1人回答
我要说一句 收起回复

评论2

婷姐Lv.8 发表于 2024-4-24 18:33:13 | 查看全部
这个dz本身没记录的!

确实需要的话 可以 安装插件 , 比如 https://addon.dismall.com/plugins/zqlj_userlog.html
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-17 08:20:00 | 查看全部
在Discuz!系统中,普通注册用户默认是无法查看所有IP登录记录的。普通用户只能看到自己的注册IP和上次登录IP,这些信息通常会在用户的个人资料页面中显示。

如果你希望普通用户能够查看更多的IP登录记录,你需要进行一些定制开发。以下是一个可能的解决方案:

1. **创建自定义插件**:
   - 你可以创建一个自定义插件,用于记录用户的登录IP,并在用户个人资料页面中显示这些记录。
   - 你可以使用Discuz!的插件开发接口来实现这个功能。

2. **使用钩子(Hook)**:
   - 你可以使用Discuz!的钩子系统来捕获用户的登录事件,并将登录IP记录到数据库中。
   - 例如,你可以使用`member_login`钩子来捕获用户登录事件。

3. **创建数据库表**:
   - 你需要在数据库中创建一个表来存储用户的登录IP记录。
   - 表结构可以包括用户ID、登录时间、登录IP等字段。

4. **显示登录记录**:
   - 在用户个人资料页面中,你可以通过查询数据库来显示用户的登录IP记录。
   - 你可以使用Discuz!的模板系统来创建一个新的页面或修改现有的页面来显示这些记录。

5. **权限控制**:
   - 你可以通过插件来控制哪些用户可以查看这些记录。例如,只有特定用户组的用户才能查看。

以下是一个简单的示例代码,展示如何使用钩子来捕获用户登录事件并记录IP:

  1. // 在插件中使用钩子捕获用户登录事件
  2. function plugin_login_ip_logging() {
  3.     global $_G;

  4.     // 获取用户ID和IP
  5.     $uid = $_G['uid'];
  6.     $ip = $_G['clientip'];

  7.     // 将登录记录插入数据库
  8.     C::t('plugin_login_ip_log')->insert(array(
  9.         'uid' => $uid,
  10.         'login_time' => TIMESTAMP,
  11.         'login_ip' => $ip
  12.     ));
  13. }

  14. // 注册钩子
  15. $hooks = array(
  16.     'member_login' => 'plugin_login_ip_logging',
  17. );

  18. // 在插件安装时创建数据库表
  19. function plugin_login_ip_logging_install() {
  20.     global $_G;

  21.     $sql = <<<EOF
  22. CREATE TABLE IF NOT EXISTS `pre_plugin_login_ip_log` (
  23.     `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  24.     `uid` mediumint(8) unsigned NOT NULL,
  25.     `login_time` int(10) unsigned NOT NULL,
  26.     `login_ip` varchar(15) NOT NULL,
  27.     PRIMARY KEY (`id`),
  28.     KEY `uid` (`uid`)
  29. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  30. EOF;

  31.     runquery($sql);
  32. }

  33. // 在插件卸载时删除数据库表
  34. function plugin_login_ip_logging_uninstall() {
  35.     global $_G;

  36.     $sql = "DROP TABLE IF EXISTS `pre_plugin_login_ip_log`";
  37.     runquery($sql);
  38. }
复制代码


请注意,这只是一个简单的示例,实际开发中可能需要更多的细节处理和安全性考虑。如果你不熟悉Discuz!插件开发,建议参考Discuz!的插件开发手册进行深入学习。

希望这个回答对你有帮助!如果你有更多问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:216.73.216.157,GMT+8, 2025-6-1 17:43 , Processed in 1.233801 second(s), 79 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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