我正在使用Angular / Node构建应用程序。 在我的应用程序中,我需要提交一个包含JSON数据的表单。 我在该表单中附加了一些输入字段,其中包含一些name_attribute和value = JSON数据。
在我的服务器代码(用Node编写)中,当我使用:request.body.name_attribute接收值时,JSON变成了一个String,我必须做一个JSON.parse(value)才能使用它。
但是,我不想在服务器端使用JSON.parse(...),因为它可能使我的应用程序容易受到脚本攻击。
有没有办法使用form.submit()发送JSON数据,而数据不会自动转换为字符串?
[*特定于发送JSON数据的答案(没有将数据更改为字符串)与表单提交真的很感激;)]
答案 0 :(得分:0)
在服务器端使用JSON.Parse应该是完全安全的,因为如果输入是无效的JSON,JSON.Parse将简单地抛出错误。 JSON只能保存数据,不能保存代码。
事实上,如果您担心安全问题,那么您可以做很少的客户端来保护您的系统,因为恶意攻击者可能会向您的服务器发送他或她希望的任何内容。