Discuz!应用商城(DisMall)Discuz!应用商城(DisMall)

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1476|回复: 2

Discuz!7.X严格限制引用的Flash地址解决方案

[复制链接]

21

主题

419

帖子

578

积分

管理员

Rank: 9Rank: 9Rank: 9

贡献
0 点
金币
145 个
发表于 2019-7-13 11:14:19 | 显示全部楼层 |阅读模式
经过测试Flash引用时存在过滤不严格的BUG,现给出以下修正方案:

        1、找到include\discuzcode.func.php文件
        2、在discuzcode函数中查找
  1. if($allowmediacode && strpos($msglower, '[/flash]') !== FALSE) {
  2.                         $message = preg_replace("/\[flash\]\s*([^\[\<\r\n]+?)\s*\[\/flash\]/is", "<script type="text/javascript" reload="1">document.write(AC_FL_RunContent('width', '550', 'height', '400', 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', '\\1', 'quality', 'high', 'bgcolor', '#ffffff', 'wmode', 'transparent', 'allowfullscreen', 'true'));</script>", $message);
  3.                 }
复制代码
换行成
  1. if($allowmediacode && strpos($msglower, '[/flash]') !== FALSE) {
  2.                         $message = preg_replace("/\[flash\]\s*([^\[\<\r\n]+?)\s*\[\/flash\]/ies", "parseflash('\\1')", $message);
  3.                 }
复制代码

3、在该文件中增加以下函数代码
  1. function parseflash($url) {
  2.         preg_match("/((https?){1}:\/\/|www\.)[^\["']+/i", $url, $matches);
  3.         $url = $matches[0];
  4.         $code = '';
  5.         if($url) {
  6.                 $code = "<script type="text/javascript" reload="1">document.write(AC_FL_RunContent('width', '550', 'height', '400', 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', '$url', 'quality', 'high', 'bgcolor', '#ffffff', 'wmode', 'transparent', 'allowfullscreen', 'true'));</script>";
  7.         }
  8.         return $code;
  9. }
复制代码
修正后可以有效地限制引用的Flash地址

+======================================+
感谢“360第三方漏洞收集平台(http://webscan.360.cn/)”为本次修正提出安全建议
+======================================+


回复

使用道具 举报

3

主题

15

帖子

38

积分

Newbie

Rank: 1

贡献
0 点
金币
22 个
发表于 2019-7-14 20:29:55 | 显示全部楼层
支持 辛苦了
回复 支持 反对

使用道具 举报

1

主题

183

帖子

382

积分

Conqueror

Rank: 3Rank: 3Rank: 3

贡献
12 点
金币
130 个
发表于 2019-7-17 21:48:34 | 显示全部楼层
只是7.X吗
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz!应用中心 ( 皖ICP备16010102号 ) star

GMT+8, 2019-11-16 06:34

Powered by Discuz!

© 2001-2019 Tencent Cloud.

快速回复 返回顶部 返回列表