Wordpress esc_url、esc_html、esc_属性的使用。。。功能

Wordpress esc_url、esc_html、esc_属性的使用。。。功能,wordpress,escaping,sanitization,Wordpress,Escaping,Sanitization,什么时候确实需要使用转义函数,或者需要使用转义函数的良好实践 例如使用esc_url()带有: get_template_directory_uri(); get_permalink(); get_author_posts_url(); get_edit_post_link(); wp_get_attachment_url(); get_the_title(); get_the_author(); get_the_date(); get_search_query(); 和esc_html()

什么时候确实需要使用转义函数,或者需要使用转义函数的良好实践

例如使用
esc_url()带有:

get_template_directory_uri();
get_permalink();
get_author_posts_url();
get_edit_post_link();
wp_get_attachment_url();
get_the_title();
get_the_author();
get_the_date();
get_search_query();
esc_html()带有:

get_template_directory_uri();
get_permalink();
get_author_posts_url();
get_edit_post_link();
wp_get_attachment_url();
get_the_title();
get_the_author();
get_the_date();
get_search_query();
我还认为
esc_html()
esc_attr()非常相似,不是吗?区别是什么?

第1部分 根据WP VIP团队提供的文件

指导原则

  • 永远不要相信用户的输入
  • 越晚越好
  • 从不受信任的来源(如数据库和用户)、第三方(如Twitter)等处逃避一切
  • 永远不要想当然
  • 永远不要相信用户的输入
  • 卫生条件还可以,但验证/拒绝更好
  • 永远不要相信用户的输入
  • “逃跑不仅仅是为了保护我们的软件免受坏人的攻击。它只是让我们的软件经久耐用。抵御随机的不良输入、恶意输入或恶劣天气。”–nb

    第二部分
    • 食品法典条目
    • 食品法典条目
    根据文章-安迪亚当斯从CSS技巧

    功能:
    esc\u html

    用于:输出中绝对没有HTML的输出

    它的作用:将HTML特殊字符(如
    &
    )转换为其“转义”实体(

    功能:
    esc\u attr

    用于:在HTML属性上下文中使用的输出(想想“标题”、“数据”字段、“alt”文本)


    功能:与
    esc\u html
    完全相同。唯一的区别是对每个函数应用了不同的WordPress过滤器。

    这类过滤器引出了一个问题:如果
    esc_html
    esc_attr
    做“完全相同的事情”,为什么会有两个不同的函数?@JimRatliff I dunno,但是我通常使用
    esc\u attr
    作为html属性的建议。@JimRatliff默认情况下,
    esc\u html
    esc\u attr
    之间没有区别,使用相同的代码(它们只是有一个不同的未使用的过滤器):