何时需要或使用转义函数的良好实践?
例如使用esc_url();
:
get_template_directory_uri();
get_permalink();
get_author_posts_url();
get_edit_post_link();
wp_get_attachment_url();
esc_html();
与:
get_the_title();
get_the_author();
get_the_date();
get_search_query();
另外我认为esc_html();
和esc_attr();
非常相似,不是吗?有什么区别?
答案 0 :(得分:4)
根据WP VIP团队的文档 - Validating, Sanitizing, and Escaping。
指导原则
“逃离不仅仅是为了防止坏人。它只是让我们的软件持久耐用。防止随机输入错误,恶意输入或恶劣天气。“-nb
根据文章 - 来自CSS-Tricks的Andy Adams的Introduction to WordPress Front End Security: Escaping the Things。
功能:
esc_html
用于:输出中绝对没有HTML的输出。
它的作用:将HTML特殊字符(例如<
,>
,&
)转换为“转义”实体(<
,>
,&
)。
功能:
esc_attr
用于:在HTML属性的上下文中使用输出(想想“标题”,“数据 - ”字段,“alt”文本)。
它的作用:与esc_html
完全相同。唯一的区别是不同的WordPress过滤器应用于每个功能。