我刚刚开始根据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>
SO网友:Rarst
数据越复杂,制定和实施消毒流程就越困难。
对于一个数字,这可能像“整数”和(int)$number
.
对于HTML来说,这是非常重要的,因为所需范围的可能性不同(没有HTML标记?一些黑名单标记?一些白名单标记?嵌入式脚本呢?CSS?)而且非常具有挑战性的实施。
而WP确实有wp_kses()
实现HTML的清理,速度相对较慢,声誉也不太好(或者我在其他已建立的清理库的上下文中读到)。
我想说的是,正如前面所述,实际的期望是,设计成模板标签的函数期望产生净化的输出。
如果您不相信它,那么审计它(并向开发人员报告发现的任何缺陷)可能比清理复杂的输出更有意义。