有没有办法防止TinyMCE启用textareas的恶意代码?
答案 0 :(得分:2)
是,
你必须清理服务器端的代码,一个好的库是PHP中的HTMLPurifier。 http://htmlpurifier.org/
HTMLPurifier的酷炫之处在于,它与声明HTML结构的方式相同,而不是TinyMCE。
<?php
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML','Allowed',
'a[href|rel|rev|target|title|style],' .
'b[style],'.
'br[clear],'.
'caption[style],'.
'center[style],'.
'col[align|charoff|span|valign|width],'.
'colgroup[align|charoff|span|valign|width],'.
'em[style],'.
'font[color|face|size|style],'.
'h1[align|style],'.
'hr[align|noshade|size|width|style],'.
'img[align|alt|border|height|hspace|src|vspace|width|style],'.
'li[type|value|style],'.
'ol[start|type|style],'.
'p[align|style],'.
'span[style],'.
'u[style],'.
'ul[type|style]');
// Block images coming from remote host
$config->set('URI', 'DisableExternalResources', true);
// Purify html
$purifier = new HTMLPurifier($config);
// Here you get the purified html
$html = $purifier->purify($html);
答案 1 :(得分:0)
当提交编辑内容时,您应该对服务器端进行内容清理(即删除脚本标记),以防止恶意代码保存到您的数据库中。