您需要在哪些WP函数上使用esc_html()或esc_url()?

时间:2018-01-06 作者:The Chewy

我遇到过人们使用esc_html()esc_url() 具有某些WP功能,如home_url(\'/\'). 示例位于<a> 链接回主页,例如:

<a href="<?php echo esc_url( home_url( \'/\' ) ); ?>"> 
您如何知道哪些WP函数需要转义,如果您使用esc_html()esc_url()?

任何建议或指导都会很好。

2 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

任何返回数据的。

如果函数在内部输出,则它负责转义如果函数返回数据以供使用,则将取消转义以避免双重转义,这是您的责任,因为您应始终延迟转义,以便毫无疑问是否转义了变量。

如果API的输出,如home_url 如果预先逃脱,那么这将不再是真的。它还将引入双重转义,在某些情况下可以用来打破过去的转义。

进一步说明:

不要费心去转义静态字符串,这是毫无意义的the_permalink 在里面esc_url 等等,转义函数仍然是函数,它们不是告诉PHP保护某些东西的魔法修饰符/高亮显示符

SO网友:KAGG Design

任何不受信任数据的输出(包括来自数据库的数据)都必须进行清理。WordPress Codex介绍了可用功能:https://codex.wordpress.org/Data_Validation

代码嗅探器,如下所示WordPress Coding Standards, 甚至需要清理WordPress核心函数的输出。例如,您可以在PhpStorm中打开这样的代码嗅探器。

有时这样的要求是过分的,但最好遵循编码标准以获得更可靠的代码。

结束

相关推荐

Wordpress login security

我已经在我的wp登录页面上设置了一个日志脚本。我注意到一个特定的ip地址——193.176.147.7一直在访问我的登录页面。葡萄球菌病总是快速连续,3次发作。这是我的插件在挂起ip之前允许的失败尝试数。我应该担心吗?我能采取什么预防措施吗?例如,阻止特定IP将有所帮助,或者我应该阻止某些范围的IP吗?我做了一个whatismyip。com查找,但他们没有任何信息。更改我的wp登录名。php对其他东西有帮助吗?