返回列表 发帖
查看: 1436|回复: 5

[已处理] 允许发站外URL的大BUG,导致广告满天飞

6

主题

3

回帖

13

积分

初学乍练

贡献
0 点
金币
3 个
发表于 2023-6-15 03:15:48 | 显示全部楼层 |阅读模式
BUG反馈
程序版本: X3.4
浏览器: Chrome 
BUG地址: 隐藏内容
BUG截图: -
测试用户名: 隐藏内容
测试密码: 隐藏内容
新注册的用户组的“允许发站外URL”已经禁止,发现还是被发了站外链接的广告,发现是专用的这个代码
  1. [url][img]https://XXX.com/g[/img]文字[/url]
复制代码

我测试了果然能发出去,这个选项只能禁止 https://XXX.com/这样的外联
设置论坛板块禁止发表[img]代码也不现实。毕竟版主有时候要发图片

请求增加用户组禁止发表[img]代码的选项
1 贡献

最佳答案

修复链接越权解析的问题
打开 upload/source/class/helper/helper_form.php
找到
  1.                 if($_G['group']['allowposturl'] == 0 || $_G['group']['allowposturl'] == 2) {
  2.                         $urllist = self::get_url_list($message);
  3.                         if(is_array($urllist[1])) foreach($urllist[1] as $key => $val) {
  4.                                 if(!$val = trim($val)) continue;
  5.                                 if(!iswhitelist($val)) {
  6.                                         if($_G['group']['allowposturl'] == 0) {
  7.                                                 if($return) {
  8.                                                         return array('message' => 'post_url_nopermission');
  9.                                                 }
  10.                                                 showmessage('post_url_nopermission');
  11.                                         } elseif($_G['group']['allowposturl'] == 2) {
  12.                                                 $message = str_replace('[url]'.$urllist[0][$key].'[/url]', $urllist[0][$key], $message);
  13.                                                 $message = preg_replace(
  14.                                                         array(
  15.                                                                 "@\[url=[^\]]*?".preg_quote($urllist[0][$key],'@')."[^\]]*?\](.*?)\[/url\]@is",
  16.                                                                 "@href=('|")".preg_quote($urllist[0][$key],'@')."\\1@is",
  17.                                                                 "@\[url\]([^\]]*?".preg_quote($urllist[0][$key],'@')."[^\]]*?)\[/url\]@is",
  18.                                                         ),
  19.                                                         array(
  20.                                                                 '\\1',
  21.                                                                 '',
  22.                                                                 '\\1',
  23.                                                         ),
  24.                                                         $message);
  25.                                         }
  26.                                 }
  27.                         }
  28.                 }
复制代码
修改为
  1.                 if($_G['group']['allowposturl'] == 0) {
  2.                         $urllist = self::get_url_list($message);
  3.                         if(is_array($urllist[1])) {
  4.                                 foreach($urllist[1] as $key => $val) {
  5.                                         if(!$val = trim($val)) continue;
  6.                                         if(!iswhitelist($val)) {
  7.                                                 if($return) {
  8.                                                         return array('message' => 'post_url_nopermission');
  9.                                                 }
  10.                                                 showmessage('post_url_nopermission');
  11.                                         }
  12.                                 }
  13.                         }
  14.                 } elseif($_G['group']['allowposturl'] == 2) {
  15.                         $message = preg_replace("/\[url(=((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.|mailto:|tel:|magnet:)?([^\r\n\["']+?))?\](.+?)\[\/url\]/is", '\\5', $message);
  16.                 }
复制代码
回复

使用道具 举报

6

主题

3

回帖

13

积分

初学乍练

贡献
0 点
金币
3 个
 楼主| 发表于 2023-6-15 15:40:55 | 显示全部楼层
捕获.JPG
回复 支持 反对

使用道具 举报

12

主题

1607

回帖

2716

积分

Giter

贡献
143 点
金币
353 个
发表于 2023-6-15 16:57:43 | 显示全部楼层
img代码只影响外链图片,将图片直接通过编辑器上传插入产生的不是img代码。
回复 支持 反对

使用道具 举报

16

主题

202

回帖

320

积分

炉火纯青

贡献
2 点
金币
57 个
发表于 2023-6-19 10:43:03 | 显示全部楼层
测试
试试看
回复 支持 反对

使用道具 举报

17

主题

568

回帖

1816

积分

应用开发者

贡献
63 点
金币
902 个
QQ
发表于 2023-7-2 11:15:54 | 显示全部楼层
修复链接越权解析的问题
打开 upload/source/class/helper/helper_form.php
找到
  1.                 if($_G['group']['allowposturl'] == 0 || $_G['group']['allowposturl'] == 2) {
  2.                         $urllist = self::get_url_list($message);
  3.                         if(is_array($urllist[1])) foreach($urllist[1] as $key => $val) {
  4.                                 if(!$val = trim($val)) continue;
  5.                                 if(!iswhitelist($val)) {
  6.                                         if($_G['group']['allowposturl'] == 0) {
  7.                                                 if($return) {
  8.                                                         return array('message' => 'post_url_nopermission');
  9.                                                 }
  10.                                                 showmessage('post_url_nopermission');
  11.                                         } elseif($_G['group']['allowposturl'] == 2) {
  12.                                                 $message = str_replace('[url]'.$urllist[0][$key].'[/url]', $urllist[0][$key], $message);
  13.                                                 $message = preg_replace(
  14.                                                         array(
  15.                                                                 "@\[url=[^\]]*?".preg_quote($urllist[0][$key],'@')."[^\]]*?\](.*?)\[/url\]@is",
  16.                                                                 "@href=('|")".preg_quote($urllist[0][$key],'@')."\\1@is",
  17.                                                                 "@\[url\]([^\]]*?".preg_quote($urllist[0][$key],'@')."[^\]]*?)\[/url\]@is",
  18.                                                         ),
  19.                                                         array(
  20.                                                                 '\\1',
  21.                                                                 '',
  22.                                                                 '\\1',
  23.                                                         ),
  24.                                                         $message);
  25.                                         }
  26.                                 }
  27.                         }
  28.                 }
复制代码
修改为
  1.                 if($_G['group']['allowposturl'] == 0) {
  2.                         $urllist = self::get_url_list($message);
  3.                         if(is_array($urllist[1])) {
  4.                                 foreach($urllist[1] as $key => $val) {
  5.                                         if(!$val = trim($val)) continue;
  6.                                         if(!iswhitelist($val)) {
  7.                                                 if($return) {
  8.                                                         return array('message' => 'post_url_nopermission');
  9.                                                 }
  10.                                                 showmessage('post_url_nopermission');
  11.                                         }
  12.                                 }
  13.                         }
  14.                 } elseif($_G['group']['allowposturl'] == 2) {
  15.                         $message = preg_replace("/\[url(=((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.|mailto:|tel:|magnet:)?([^\r\n\["']+?))?\](.+?)\[\/url\]/is", '\\5', $message);
  16.                 }
复制代码
回复 支持 1 反对 0

使用道具 举报

9

主题

320

回帖

440

积分

炉火纯青

贡献
16 点
金币
24 个
发表于 2023-8-3 15:07:52 | 显示全部楼层
1314学习网 发表于 2023-7-2 11:15
修复链接越权解析的问题
打开 upload/source/class/helper/helper_form.php
找到修改为 ...

【设置:站外链接允许发布但不能解析】20230520本站链接正常解析,20230726,不能解析,即便是将本站网址添加到访问控制-允许发表的域名列表
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-4-30 00:33 , Processed in 0.047423 second(s), 10 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表