2016-09-16 65 views
1

我有这样的代码:WordPress的esc_html内容

the_content(sprintf(
       __('Continue reading %s', 'twentyfifteen'), 
       the_title('<span class="screen-reader-text">', '</span>', false) 
      )); 

如何逃脱上面的安全问题的代码?我一直在使用下面的代码来解决问题:

<?php echo esc_html(get_the_title()) ; ?> 

回答

0

WP Codex

的是,大多数WordPress的功能,适当地准备数据输出是非常重要的,你不需要再次逃脱。

因此,对于此功能,您不必再次跳过the_title(),因为此功能本身已经完成。

对于所有其他转义/消毒需求,请看here

+0

这是不正确的,_(标题|摘录|内容)不会被转义。 – svandragt

0

the_title()the_excerpt()the_content()都没有逃脱(the_content()确实有点串置换),这可以在编辑器已经安装了恶意浏览器扩展,例如会导致安全问题。

正确的做法是将get_*版本的这些功能包装成esc_html_e()(其中esc_html运行(),通过文本域转换和Echo的结果),所以你的情况:

<?php esc_html_e(get_the_content($more_link_text, $strip_teaser)); ?>