将查询从react前端传递到羽毛服务是一种良好的做法吗



我正在使用复赛(https://github.com/rematch/rematch)到React JS中,以及后端的Its Feathers。如果我想在特定条件下从数据库中获取记录,我可以在React代码中的API调用中传递来自的查询。示例

const empData = await employeeService.find({
query: {
$and:[
{employeeId: payload.empIId},
{name:"ABC"}
]
}
});

这直接将查询传递给自动生成的羽毛服务,并为我提供了预期的结果。

我的问题是,从前端传递这些类型的查询(可能比这更复杂(是一种好的做法吗?请详细说明答案(优点和缺点等(

我们成功地做到了这一点&广泛参与几个项目。它创造了最大的灵活性。改变可以在客户端中实现,而不是要求在客户端&服务器

这应该与不信任客户端的服务器结合使用。服务器应该净化&速率限制输入查询,以确保客户端没有接收到任何不应该接收的内容。

让客户端直接执行查询通常是个坏主意。您事先不知道查询,这意味着任何人都可以POST一个被操纵的查询,该查询将绑定您的数据库,从而有效地对您进行DDOS操作。由于你不检查输入,你就无法保护自己免受此类攻击。

验证每个系统边界上的输入总是一个好主意。

相关内容