我昨天打了一个答案,然后把它删除了,希望有人对他们的答案更有信心。但我至少会分享我的理解。
。。。也就是说,所有放在页面中的内容都应该被清理干净,并尽可能地更新。这意味着您希望在输出时正确使用这些函数(即esc\\U html)。由于这一“尽可能晚”的原则,WordPress不会(Edit: 总是)为您预先逃生(这会增加意外双重逃生的几率)。
Edit: 根据我们在评论和进一步研究中的讨论,get\\u the\\u term\\u list是WordPress预先转义的函数之一,不需要进一步转义。由于它是通过使用过滤器挂钩进行转义的,因此有技术上更安全的方法在以后进行转义(即使用get\\u the\\u terms,然后通过适当的转义手动输出)。然而,内置的转义足够安全,核心主题依赖于它,所以它可能就足够了。
ACF也不会为您清理输出。事实上,我能从他们的开发者那里找到的唯一一条评论是一条奇怪的模棱两可的评论,大意是我们没有,也许WordPress有。
我通常没有将这些函数用于get\\u字段,因为当我不接受来自前端的输入时,危险对我来说没有直观的意义。但我也了解到,黑客和安全研究人员都比我聪明,所以我尽量遵从公认的智慧,那就是继续前进并逃跑。所以,我现在就这么做。
如果你过了头,你可能会注意到,因为数据会变得一团糟。如果你在逃逸,除非你的黑客入侵,否则你不会知道。所以犯太多的错误。
那是我的2美分。