逃跑太多了?

时间:2013-11-06 12:16:29

标签: php wordpress sanitization

我有以下代码:

<a href="<?php echo esc_url( esc_attr( get_month_link( get_the_time('Y'), 
get_the_time('m') ) ) ); ?>"><?php the_time( get_option( 'date_format' )  ); ?></a>

我的问题是:我做了多少不必要的逃避,因为你可以看到我正在使用 esc_url()esc_attr()相结合。这可能是一种矫枉过正吗? THX !!

1 个答案:

答案 0 :(得分:2)

总结一点:IMO你不需要esc_attr进行转义(因为你的网址不包含characters it escapes)而且esc_url也没用(因为我没有认为必须对URL returned from get_month_year进行消毒 - 这不是用户输入。)

然后?只需删除它们:

<a href="<?php echo get_month_link( get_the_time('Y'), get_the_time('m') ); ?>"><?php the_time( get_option( 'date_format' )  ); ?></a>

当然,如果您不“信任”get_month_year参数验证,您可以保留esc_url(但我要说这可能有点过于偏执)。