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

[插件教程] 批量注册马甲用户发帖【 ror_user_vest】适配DZ3.5

1057 2
发表于 2022-1-30 04:47:54 | 查看全部 阅读模式

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

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

×
本帖最后由 heany 于 2022-1-30 04:49 编辑

发错版块了~~~~~管理员给移动下:L

批量注册马甲用户发帖这个插件用马甲在DZ3.5中发帖报错也不能回帖

先说问题所在,因为3.5中对common_session数据库结构做了改变,所以插件在执行写入数据的时候还是3.4的结构形式,所以报错
知道原因就很好改了:

找到:

source/plugin/ror_user_vest/ror_user_vest.class.php
  1. $sql = "REPLACE INTO ".DB::table('common_session')."(sid, ip1, ip2, ip3, ip4, groupid, lastactivity, action, fid, tid, uid, username)VALUES ('$now_sid', '$ips[0]','$ips[1]','$ips[2]','$ips[3]', '$vest[groupid]', '$timestamp','$discuz_action','$discuz_fid','$discuz_tid','".$_G['uid']."','".$_G[username]."')";
复制代码
改为
  1. $sql = "REPLACE INTO ".DB::table('common_session')."(sid, ip, groupid, lastactivity, action, fid, tid, uid, username)VALUES ('$now_sid', '$ips[0].$ips[1].$ips[2].$ips[3]', '$vest[groupid]', '$timestamp','$discuz_action','$discuz_fid','$discuz_tid','".$_G['uid']."','".$_G[username]."')";
复制代码


不要忘记手机版也需要改:
mobileror_user_vest.class.php
这个文件!
我要说一句 收起回复

评论2

rqnnbclbLv.2 发表于 2023-6-30 09:30:53 | 查看全部 | Google Chrome | Windows 10
感谢分享,正需要
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-13 04:28:44 | 查看全部
关于您在Discuz! X3.5中使用【ror_user_vest】插件遇到的马甲发帖报错问题,结合DZ插件网技术团队的实践经验,给出如下专业解决方案:

---

### **问题根源分析**
Discuz! X3.5的`common_session`表结构已优化为:
  1. sid CHAR(32), ip VARCHAR(255), groupid SMALLINT(...), ... )
复制代码

原插件使用X3.4的四段式IP存储方式(ip1/ip2/ip3/ip4字段),与新版单字段`ip`的结构冲突导致SQL执行异常。

---

### **完整修复方案**
#### 1. PC端核心文件修改
**文件路径**:`source/plugin/ror_user_vest/ror_user_vest.class.php`
  1. // 原错误代码(X3.4结构):
  2. $sql = "REPLACE INTO ".DB::table('common_session')."(sid, ip1, ip2, ip3, ip4, groupid, lastactivity, action, fid, tid, uid, username) VALUES (...)";

  3. // 修正为(X3.5结构):
  4. $ip = sprintf('%d.%d.%d.%d', $ips[0], $ips[1], $ips[2], $ips[3]); // 确保IP格式正确
  5. $sql = "REPLACE INTO ".DB::table('common_session')."
  6.         (sid, ip, groupid, lastactivity, action, fid, tid, uid, username)
  7.         VALUES
  8.         ('$now_sid', '".DB::quote($ip)."', '$vest', '$timestamp', '".DB::quote($discuz_action)."', '".DB::quote($discuz_fid)."', '".DB::quote($discuz_tid)."', '".DB::quote($_G['uid'])."', '".DB::quote($_G['username'])."')";
复制代码

*关键修改点:*
- 使用`DB::quote()`防止SQL注入
- 通过`$_G['uid']`和`$_G['username']`获取当前用户信息
- 用`sprintf`规范IP格式

#### 2. 移动端适配文件修改
**文件路径**:`source/plugin/ror_user_vest/mobileror_user_vest.class.php`
同步应用上述字段调整及安全过滤逻辑,特别注意移动端可能涉及的`$_G`全局变量作用域。

---

### **附加注意事项**
1. **缓存清理**:修改后需到后台 _工具 > 更新缓存_,勾选"模板缓存"和"数据缓存"
2. **IP数据兼容**:若历史马甲账号存在旧版IP分段数据,建议通过SQL迁移:
  1. UPDATE pre_common_session SET ip = CONCAT(ip1,'.',ip2,'.',ip3,'.',ip4);
复制代码

3. **权限校验**:检查马甲用户组的发帖权限是否在X3.5的 _用户 > 用户组 > 论坛相关_ 中正确配置
4. **HTTPS兼容**:若站点启用SSL,需同步修改插件中所有硬编码HTTP资源为协议自适应格式`//domain.com/path`

---

### **深度优化建议**
若需增强马甲行为真实性,可在插件中集成:
1. 随机延时功能(模拟人工操作间隔)
2. 用户行为轨迹记录(参考`common_member_action`表结构)
3. 马甲池权重分配算法(通过`common_member`表的`extgroupids`字段实现)

如需进一步的技术实施方案或定制开发服务,欢迎到DZ插件网技术交流版块提交需求工单,我们的开发团队可提供深度适配支持。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

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

discuzaddons@vip.qq.com

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

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

您的IP:216.73.216.102,GMT+8, 2025-6-28 05:25 , Processed in 0.856941 second(s), 85 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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