安全的输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | sanitize_email() sanitize_file_name() sanitize_html_class() sanitize_key() sanitize_meta() sanitize_mime_type() sanitize_option() sanitize_sql_orderby() sanitize_text_field() sanitize_title() sanitize_title_for_query() sanitize_title_with_dashes() sanitize_user() esc_url_raw() wp_filter_post_kses() wp_filter_nohtml_kses() |
示例:
示例 – 简单输入字段#示例 – 简单输入字段
假设我们有一个名为 title 的输入字段。
1 | <input id="title" type="text" name="title"> |
您可以使用sanitize_text_field()函数清理输入数据:
1 2 | $title = sanitize_text_field( $_POST['title'] ); update_post_meta( $post->ID, 'title', $title ); |
在幕后,sanitize_text_field()执行以下操作:
检查无效的 UTF-8
将单个小于号 (<) 转换为实体
剥离所有标签
删除换行符、制表符和额外的空白
剥离八位字节
安全的输出
1 2 3 4 5 6 7 8 9 | esc_attr() – 用于打印到 HTML 元素属性中的所有其他内容。 esc_html() – 在 HTML 元素包含正在显示的数据部分的任何时候使用。 esc_js() - 用于内联 Javascript。 esc_textarea() – 使用它来编码文本以在 textarea 元素中使用。 esc_url() – 用于所有 URL,包括HTML 元素的src和href属性中的URL 。 esc_url_raw() – 在数据库中存储 URL 或其他需要非编码 URL 的情况下使用。 wp_kses() – 用于所有不受信任的 HTML(发布文本、评论文本等) wp_kses_post() -wp_kses()自动允许帖子内容中允许的所有 HTML 的替代版本。 wp_kses_data() –wp_kses()只允许在帖子评论中允许的 HTML 的替代版本。 |
详见
https://developer.wordpress.org/themes/theme-security/data-sanitization-escaping/
https://developer.wordpress.org/plugins/security/securing-input/
原文链接:https://xiaohost.com/3799.html,转载请注明出处。
评论0