wordpress - 如何清理 ajax 在 wordpress 中发送 html 数据和 json 数据
问题描述
我有一个将一些 html 内容和 json 结构发送到 php 函数的 ajax。我需要
- 要保存到数据库的json数据
要保存到 php 文件的 html 内容
在此之前,我必须获取这些值并对其进行清理。我从 wordpress 插件安全中读到 $_POST 应该被清理。我阅读了该
sanitize_*()
系列,但找不到适合 html 内容和 json 结构数据的系列。所以我的问题是- 如果 json 编码(json 字符串)数据只需要被清理为纯文本或不需要清理?
- 是否
wp_kses
足以在 wordpress 中对 html 内容进行清理或有任何其他功能?
这是我通过 ajax 传递的 json 结构。纯粹是一些文字
{
"row": [{
"data_id": "1001",
"type": "L",
"child": [{
"data_id": "1002",
"data_type": "M",
"child": [{
"data_id": "1003",
"data_type": "S",
"child": ""
}]
}]
}],
"data_id": "Size",
"data_type": "Cloth"
}
解决方案
对于中的每个数组键,$_POST
您应该根据字段类型使用以下之一:
sanitize_text_field
(所有文本字段、单选按钮、选择选项值等)sanitize_textarea_field
/wp_kses
(用于文本区域)esc_url
(对于网址)- sanitize_email
这应该清理已发布数据的大部分元素。
PS:如果您以任何方式直接与数据库交互,请确保使用$wpdb->prepare
并$wpdb->execute
保护您的数据库查询(不是必需的,而是我被教导的一个好习惯)。
推荐阅读
- java - compileJava 不适用于本地库
- marketo - Marketo - 如何获取潜在客户数据库中的必填字段信息
- php - 在每个数组中给出双引号和逗号分隔符
- javascript - 查询。分别对每个 div 应用函数
- ms-word - c# open xml sdk中Word.Body.getOoxml()的等效方法是什么?
- reactjs - 在 react-select 中打开菜单到默认值
- git - Git hooks file naming
- java - IntelliJ 中有没有办法快速添加“;” 到当前行的末尾?
- swift - Swift 包的自定义文件夹结构
- android - 通过 Cordova 中的 build-extras.gradle 将自定义值添加到 build.gradle 文件