保护输入是消毒(清理,过滤)输入数据的过程。 当您不知道期望或不想严格的数据验证时,您可以使用清洁。 任何时候您接受潜在的不安全数据,重要的是验证或清除它。 ## 消毒数据 消除数据的最简单方法是使用内置的WordPress功能。 消毒的`_*()`系列助手功能是非常好的,因为它们确保您的安全数据结束,并且您需要尽可能少的努力: - 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的输入字段。 ``` <input id="title" type="text" name="title"> ``` 您可以使用sanitize_text_field()函数来清理输入数据: ``` $title = sanitize_text_field($_POST['title']); update_post_meta($post->ID, 'title', $title); ``` 在幕后,sanitize_text_field()执行以下操作: - 检查无效的UTF-8 - 将单个小于字符(<)转换为实体 - 贴上所有标签 - 删除换行符,标签和额外的空格条字节