保护输入

保护输入是消毒(清理,过滤)输入数据的过程。

当您不知道期望或不想严格的数据验证时,您可以使用清洁。任何时候您接受潜在的不安全数据,重要的是验证或清除它。

消毒数据

消除数据的最简单方法是使用内置的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
  • 将单个小于字符(<)转换为实体
  • 贴上所有标签
  • 删除换行符,标签和额外的空格条字节
下一节:保护输出是转义输出数据的过程。