我遇到过这样的情况:人们在某些WP函数(如esc_html() )中使用了esc_url()或home_url('/')。在<a>链接的打开锚标记中有一个示例,该链接返回到主页,如下所示:
<a href="<?php echo esc_url( home_url( '/' ) ); ?>"> 您如何知道哪些WP函数需要转义,使用esc_html()或esc_url()是否重要?
任何建议或指导都会很棒。
发布于 2018-01-06 23:46:36
任何返回数据的人。
这是因为您应该总是延迟转义,以便毫无疑问地,如果一个变量被转义了。
如果像home_url这样的API的输出是预转义的,那么这将不再是真的。它还将引入双重转义,在某些情况下可以用来突破过去的转义。
一些进一步的说明:
the_permalink这样的函数包装在esc_url等中,转义函数仍然是函数,它们不是神奇的修饰符/荧光笔,告诉PHP要保护一些东西。发布于 2018-01-06 23:30:48
任何不受信任的数据(包括来自数据库的数据)的输出都必须经过净化。WordPress代码规范描述可用的功能:https://codex.wordpress.org/Data_验证
遵循WordPress编码标准的代码嗅探器甚至需要清理来自WordPress核心函数的输出。例如,您可以在PhpStorm中打开这样的代码嗅探器。
有时这样的要求是过分的,但最好遵循编码标准,以获得更可靠的代码。
https://wordpress.stackexchange.com/questions/290351
复制相似问题