javascript - 在空用户输入上使用 JSON.stringify 时如何检查假值

标签 javascript json node.js validation

req.body["test"] 将为空或有一个值,但在使用它之前,我将 JSON.stringify 该值,因为恶意代码可以从用户。

但现在我无法像检查虚假值那样简单地检查该字符串。

例如,如果我得到一个空字符串,然后检查是否有空的用户输入:

//will give an error it is like  'var c="""";' of course this doesn't work.
    var checking=JSON.stringify(req.body["test"]) // has value """"
         If(checking)//check falsy

最佳答案

只是不要将其转换为 JSON。

至少,在测试它是否为假之前,不要将其转换为 JSON。

如果您放入 if (HERE)req.body.test 中不会包含任何有害内容。

在更广泛的范围内,您应该根据您将如何处理数据,采取适当的措施来清理/转义数据。转换为 JSON 会产生问题,并且不能解决所有安全问题。

关于javascript - 在空用户输入上使用 JSON.stringify 时如何检查假值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32453057/

相关文章:

javascript - React Redux Redux Form - 从 <Field> 内移动函数会产生错误

javascript - Javascript 中的正则表达式查找所有括号结构

javascript - 如何从未隐藏的第一个复选框中获取值

java - 将 XML 字符串转换为 JSON 对象

javascript - 解析json时出错

php - 使用 json 发送邮件

javascript - PHP 和 Ajax : manage list update

javascript - 如何在 openSUSE 上使用 NGINX 或 Apache2 将端口 80 重新路由到 localhost :3000 so I can run my Node. js 应用程序

javascript - body-parser 实际上对 Express 做了什么?

node.js - 我应该在一个 Node 端点打开/关闭不同的 Postgres 连接吗?使用 OOP 进行这项工作