| 
 | 
 
 
经过测试Flash引用时存在过滤不严格的BUG,现给出以下修正方案: 
 
        1、找到include\Discuzcode.func.php文件 
        2、在discuzcode函数中查找-  if($allowmediacode && strpos($msglower, '[/flash]') !== FALSE) {
 
 -                         $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);
 
 -                 }
 
  复制代码 换行成-  if($allowmediacode && strpos($msglower, '[/flash]') !== FALSE) {
 
 -                         $message = preg_replace("/\[flash\]\s*([^\[\<\r\n]+?)\s*\[\/flash\]/ies", "parseflash('\\1')", $message);
 
 -                 }
 
  复制代码 3、在该文件中增加以下函数代码- function parseflash($url) {
 
 -         preg_match("/((https?){1}:\/\/|www\.)[^\["']+/i", $url, $matches);
 
 -         $url = $matches[0];
 
 -         $code = '';
 
 -         if($url) {
 
 -                 $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>";
 
 -         }
 
 -         return $code;
 
 - }
 
  复制代码 |   
 
 
 
 |