保护输入是消毒(清理,过滤)输入数据的过程。
当您不知道期望或不想严格的数据验证时,您可以使用清洁。
任何时候您接受潜在的不安全数据,重要的是验证或清除它。
消毒数据
消除数据的最简单方法是使用内置的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
- 将单个小于字符(<)转换为实体
- 贴上所有标签
- 删除换行符,标签和额外的空格条字节