清理html输出本身

时间:2015-03-09 作者:Emetrop

我刚刚开始根据VIP WordPress编码标准编写代码,我坚持进行清理。我知道所有输出都需要消毒,没有任何例外。但是,如何对本身具有HTML代码输出的函数进行清理呢?例如,yoast的WordPress SEO插件中的函数yoast\\u breadcrumb(),该插件输出HTML格式的breadcumb。。?

<?php echo yoast_breadcrumb( \'\', \'\', false ); ?>
输出:

<span prefix="v: http://rdf.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a href="https://rnc-wordpress-wrongware.c9.io" rel="v:url" property="v:title">Main Page</a></span> › <span typeof="v:Breadcrumb"><span class="breadcrumb_last" property="v:title">Page doesn\'t exist</span></span></span>

1 个回复
SO网友:Rarst

数据越复杂,制定和实施消毒流程就越困难。

对于一个数字,这可能像“整数”和(int)$number.

对于HTML来说,这是非常重要的,因为所需范围的可能性不同(没有HTML标记?一些黑名单标记?一些白名单标记?嵌入式脚本呢?CSS?)而且非常具有挑战性的实施。

而WP确实有wp_kses() 实现HTML的清理,速度相对较慢,声誉也不太好(或者我在其他已建立的清理库的上下文中读到)。

我想说的是,正如前面所述,实际的期望是,设计成模板标签的函数期望产生净化的输出。

如果您不相信它,那么审计它(并向开发人员报告发现的任何缺陷)可能比清理复杂的输出更有意义。

结束

相关推荐