我应该在使用GET_MONTER_LINK时转义属性吗?

时间:2013-11-05 作者:Dejo Dekic

我不确定是否应该使用esc_attr() 具有get_month_link() 像这样:

<a href="<?php echo esc_attr( get_month_link( get_the_time(\'Y\'), get_the_time(\'m\') ) ); ?>">
<?php the_time( get_option( \'date_format\' )  ); ?></a>
或者我应该这样编码(不转义):

<a href="<?php echo get_month_link( get_the_time(\'Y\'), get_the_time(\'m\') ) ; ?>">
<?php the_time( get_option( \'date_format\' )  ); ?></a>
那么从安全角度来看,哪一个是最好的选择呢?非常感谢。

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

是的,逃避一切(并尽可能接近输出)是一条出路。直到过度逃逸在特定情况下引发问题为止。

注意,虽然这在属性的上下文中发生,esc_url() 更适合URL。

清理url(在文本节点、属性节点或其他任何位置)时,始终使用esc\\u url。

Codex > Data Validation > URLs

结束

相关推荐