关于奇矩互动奇矩互动招贤纳士奇矩互动优质虚拟主机Discuz!商业用户享有本站VIP服务LAMP环境配置手册(CentOS5.1)
发新话题
打印

文本编辑器里html代码安全的问题

文本编辑器里html代码安全的问题

无论是ASP、还是PHP,有很多的editor都转用html编辑器,放弃了传统的UBB编辑器,如果是自己或自己信的过的人提交带有HTML代码,可能这不会出现什么问题,但是如果给别有用心失利用了,可能会有很大的隐患,但是全部屏蔽了HTML,那又不会显示我们想要的效果。

于是KSES出现了,KSES就是过滤全部除程序员指定的HTML TAG以外的一个函数,同时KSES是开源的。
KSES的官方网站地址是:http://sourceforge.net/projects/kses 你可以在这下载最新的kses

下载好,取出来根目录的里的 kses.php,然后我们动手做一个测试
复制内容到剪贴板
代码:
<?
include 'kses.php';

//定义一个用来测试的带有HTML TAG的字符串
$string = 'test STRONG tag,test B tag';

//允许的html tag 数组
$kses_allowed = array (
'address' => array (),
'a' => array ('href' => array (), 'title' => array (), 'rel' => array (), 'rev' => array (), 'name' => array ()),
'abbr' => array ('title' => array ()),
'acronym' => array ('title' => array ()),
'strong' => array (),
'big' => array (),
'blockquote' => array ('cite' => array ()),
'br' => array (),
'button' => array ('disabled' => array (), 'name' => array (), 'type' => array (), 'value' => array ()),
'caption' => array ('align' => array ()),
'code' => array (),
'col' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'span' => array (), 'valign' => array (), 'width' => array ()),
'del' => array ('datetime' => array ()),
'dd' => array (),
'div' => array ('align' => array ()),
'dl' => array (),
'dt' => array (),
'em' => array (),
'fieldset' => array (),
'font' => array ('color' => array (), 'face' => array (), 'size' => array ()),
'form' => array ('action' => array (), 'accept' => array (), 'accept-charset' => array (), 'enctype' => array (), 'method' => array (), 'name' => array (),'id' => array (), 'target' => array ()),
'h1' => array ('align' => array ()),
'h2' => array ('align' => array ()),
'h3' => array ('align' => array ()),
'h4' => array ('align' => array ()),
'h5' => array ('align' => array ()),
'h6' => array ('align' => array ()),
'hr' => array ('align' => array (), 'noshade' => array (), 'size' => array (), 'width' => array ()),
'i' => array (),
'img' => array ('alt' => array (), 'align' => array (), 'border' => array (), 'height' => array (), 'hspace' => array (), 'longdesc' => array (), 'vspace' => array (), 'src' => array (), 'width' => array ()),
'ins' => array ('datetime' => array (), 'cite' => array ()),
'kbd' => array (),
'label' => array ('for' => array ()), 'legend' => array ('align' => array ()),
'li' => array (),
'p' => array ('align' => array ()),
'pre' => array ('width' => array ()),
'q' => array ('cite' => array ()),
's' => array (),
'strike' => array (),
'sub' => array (),
'sup' => array (),
'table' => array ('align' => array (), 'bgcolor' => array (), 'border' => array (), 'cellpadding' => array (), 'cellspacing' => array (), 'rules' => array (), 'summary' => array (), 'width' => array ()),
'tbody' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()),
'td' => array ('abbr' => array (), 'align' => array (), 'axis' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'colspan' => array (), 'headers' => array (), 'height' => array (), 'nowrap' => array (), 'rowspan' => array (), 'scope' => array (), 'valign' => array (), 'width' => array ()),
'textarea' => array ('cols' => array (), 'rows' => array (), 'disabled' => array (), 'name' => array (), 'readonly' => array ()),
'tfoot' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()),
'th' => array ('abbr' => array (), 'align' => array (), 'axis' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'colspan' => array (), 'headers' => array (), 'height' => array (), 'nowrap' => array (), 'rowspan' => array (), 'scope' => array (), 'valign' => array (), 'width' => array ()),
'thead' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()),
'title' => array (),
'tr' => array ('align' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()),
'tt' => array (),
'u' => array (),
'ul' => array (),
'ol' => array (),
'var' => array ()
);

//输出过滤后的结果
echo kses($string, $kses_allowed);
?>

TOP

号外,快来看美女啦

提示: 作者被禁止或删除 内容自动屏蔽

TOP

发新话题