传递给 WooCommerce update_meta_data 方法的值是否已完全清理?
Is values passed to WooCommerce update_meta_data method fully sanitizing?
我正在编写一个 WordPress 插件,其中有一个供用户添加注释的输入表单。我正在使用 WooCommerce update_meta_data
方法在数据库中保存笔记。
考虑这段代码:
$note = isset($_POST['order_note']) ? sanitize_text_field($_POST['order_note']) : '';
$order->update_meta_data('_order_note', wp_json_encode($note));
$order->save_meta_data();
我知道 update_post_meta
在将数据插入数据库之前会对其进行清理(SQL 注入),但是 update_meta_data
呢?
使用以上代码在数据库中插入数据是否安全?
update_meta_data
据我在 woo 上看到的 update_meta_data
Source Code,没有调用任何清理功能。
update_metadata
另一方面,如果您看一下 wordpress update_metadata
Docs,会调用两个清理函数:
和
因此,为了回答您的问题,是的,在使用 update_meta_data
.
更新元数据之前,我也会使用清理功能
为了做到这一点,sanitize_text_field
通常可以很好地完成工作,但如果您想确保您使用的是正确的清理功能,请改用 sanitize_meta
Docs。这就是 wordpress 本身正在使用的。在安全方面,就我个人而言,使用 sanitize_text_field
从来没有遇到任何问题,我也没有看到其他人有任何问题。您提供给我们的代码段对我来说是安全的。
我正在编写一个 WordPress 插件,其中有一个供用户添加注释的输入表单。我正在使用 WooCommerce update_meta_data
方法在数据库中保存笔记。
考虑这段代码:
$note = isset($_POST['order_note']) ? sanitize_text_field($_POST['order_note']) : '';
$order->update_meta_data('_order_note', wp_json_encode($note));
$order->save_meta_data();
我知道 update_post_meta
在将数据插入数据库之前会对其进行清理(SQL 注入),但是 update_meta_data
呢?
使用以上代码在数据库中插入数据是否安全?
update_meta_data
据我在 woo 上看到的 update_meta_data
Source Code,没有调用任何清理功能。
update_metadata
另一方面,如果您看一下 wordpress update_metadata
Docs,会调用两个清理函数:
和
因此,为了回答您的问题,是的,在使用 update_meta_data
.
为了做到这一点,sanitize_text_field
通常可以很好地完成工作,但如果您想确保您使用的是正确的清理功能,请改用 sanitize_meta
Docs。这就是 wordpress 本身正在使用的。在安全方面,就我个人而言,使用 sanitize_text_field
从来没有遇到任何问题,我也没有看到其他人有任何问题。您提供给我们的代码段对我来说是安全的。