首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在wordpress中清理ajax发送html数据和json数据

如何在wordpress中清理ajax发送html数据和json数据
EN

Stack Overflow用户
提问于 2019-06-14 09:29:45
回答 1查看 3K关注 0票数 1

我有一个ajax,它向php函数发送一些html内容和json结构。我需要

  • 要保存到数据库的json数据
  • 要保存到php文件的html内容 在此之前,我必须得到这些价值观并净化它们。我从wordpress插件安全网站上读到,$_POST应该被净化。我读过关于sanitize_*()系列的文章,但找不到适合于html内容和json结构数据的系列。所以我的问题是
代码语言:javascript
复制
1. If json encoded (json string) data require only be sanitized as plain text or doesn't require sanitization ?
2. Is `wp_kses` sufficient for html content sanitization in wordpress or there any other functions ?

这是我通过ajax传递的json结构。纯文字

代码语言:javascript
复制
{
    "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"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-14 10:09:14

对于$_POST中的每个数组键,您应该根据字段类型使用以下一种:

  1. sanitize_text_field(所有文本字段、单选按钮、选择选项值等)
  2. sanitize_textarea_field/wp_kses(用于文本区域)
  3. esc_url(用于url)
  4. sanitize_email

这应能净化所公布数据的大部分内容。

PS:如果您正以任何方式直接与数据库交互,只需确保使用$wpdb->prepare$wpdb->execute来保护数据库查询的安全(这不是必需的,而是我学到的一种良好实践)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56595282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档