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/