跳转到主要内容

清理数据

不受信任的数据来自许多来源(用户、第三方网站,甚至您自己的数据库!),所有这些数据在使用之前都需要进行检查。

请记住:即使管理员也是用户,用户也会有意或无意地输入错误的数据。你的工作就是保护他们免受伤害。

清理输入是保护/清理/过滤输入数据的过程。验证优于清理,因为验证更具体。但当“更具体”不可能时,消毒就是下一个最好的选择。

 

例子

假设我们有一个名为的输入字段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()执行以下操作:

  1. 检查无效的 UTF-8
  2. 将单个小于号 (<) 转换为实体
  3. 删除所有标签
  4. 删除换行符、制表符和多余的空白
  5. 剥离八位字节

消除功能

有许多功能可以帮助您清理数据。