经daquan提醒,发现听雨对于上传的flash文件的脚本没有处理,用户能够利用上传的flash的脚本功能(比如带有geturl动作的flash)实现自动跳转到某个站点。
到北邮人论坛参考了一下,发现他们有对flash脚本的禁用,于是借鉴北邮人的做法,对听雨的flash附件脚本动作进行了处理,具体做法如下:
改动之前的代码:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" >
<param name="MOVIE" value="bbscon.php?bid=***&id=***&ap=***" />
<embed src="bbscon.php?bid=***&id=***&ap=***"></embed>
</object>
改动之后的代码:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" >
<param name="allowScriptAccess" value="never" />
<param name="MOVIE" value="bbscon.php?bid=***&id=***&ap=***" />
<embed src="bbscon.php?bid=***&id=***&ap=***" allowScriptAccess="never" ></embed>
</object>
对AllowScriptAccess 参数的解释:
AllowScriptAccess 参数可以用来控制是否允许执行来自 swf 本身对外脚本。
这个参数可以有两个值: "always" 和 "never":
当 AllowScriptAccess 设置为 "never" 时,运行对外脚本会失败;
当 AllowScriptAccess 设置为 "always" 时,可以成功运行对外脚本。