使用esc_url的目的



我不明白为什么我们需要使用esc_url,如果我自己是实际编写URL的人:

echo get_template_directory_url . '/someText'

虽然/someText是硬编码的,但我知道它是干净和安全的,因为我写了它。在什么情况下这将是不安全的(比如当我在这种情况下不使用esc_url时坏人是如何做坏事的?)他们黑进服务器了吗?如果他们真的能黑进服务器,他们就不会打扰esc_url了?

我已经参考了https://stackoverflow.com/a/30583251/19507498,但是他只解释了我们如何使用它,而没有解释我们为什么需要它。

这个函数的目的是替换空格和特殊字符编码的url吊坠。例如,将被%20取代。这是必需的,因为url中不允许使用空格和其他一些特殊字符,如变音符或ß

编辑:此外,?&需要编码,因为它们在url中具有特殊的含义。

最新更新