有没有办法防止TinyMCE启用textareas的恶意代码?

时间:2010-12-12 14:59:05

标签: html tinymce

有没有办法防止TinyMCE启用textareas的恶意代码?

2 个答案:

答案 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)

当提交编辑内容时,您应该对服务器端进行内容清理(即删除脚本标记),以防止恶意代码保存到您的数据库中。