不要相信用户的输入
输出用户的输入信息时候,需要对数据进行转义输入,已保证系统的安全
相关函数
- esc_html()
- esc_attr ()
- esc_url()
- esc_js()
- esc_textarea()
用法
esc_attr
删除不正确的utf8字符,
将< (小于)、> (大于)、& (与)、” (双引号)和’(单引号)字符转换为HTML实体,
永远不会对实体进行双重编码。请勿使用esc_attr()来转义src、href属性的数据– 而是使用esc_url(),
也不要将其用于value属性,因为它可能导致HTML实体丢失和数据库中存储的值不正确,请改用esc_textarea()。这是因为esc_attr()不会对实体进行双重编码。esc_html
准备在HTML中使用的文本。与esc_attr()函数的唯一区别在于,它有一个连接到函数输出的过滤器钩子- esc_html而不是attribute_escape。esc_url
用%20替换空格,
删除网址中不允许使用的符号,例如反斜杠,
如果URL协议是mailto:,从使用私有函数_deep_replace()排除符号%0d、%0a、%0D、%0A等字符串,这意味着字符串%0%0%0AAA将被转换为空字符串,而不是str_replace()将返回的%0%0AA ,
将替换;//为://,防止万一发生错误的情况,
如果该网址不包含方案,除非该URL 是一个以/,#或?或php文件开头的相对链接,否则将添加前缀http://。
如果第三个函数参数$_context等于display(默认情况下),则&符号将替换为&,并将单引号替换为英文的’,
用%5B和%5D编码方括号。
检查是否允许使用URL协议,如果不允许-返回空字符串,
在最后,将clean_url滤镜挂钩应用于结果。esc_js
删除不正确的utf8字符,
转义单引号’,
将< (小于)、> (大于)、& (与)、” (双引号)字符转换为HTML实体< > & “ ,
在行末添加\n。
JavaScript中的文本字符串必须始终用单引号引起来!esc_textarea()
将< (小于)、> (大于)、& (与)、” (双引号)和’(单引号)字符转换为HTML实体