Node.js RESTAPI安全性:使用ID更新数据库
我用NodeJS构建了一个简单的REST完整API 说到HTML代码,我有:Node.js RESTAPI安全性:使用ID更新数据库,node.js,rest,api,security,Node.js,Rest,Api,Security,我用NodeJS构建了一个简单的REST完整API 说到HTML代码,我有: <form method="post" action="/registry/api"> <input name="id" type="text" value="6" readonly> <input name="name" type="text" value="TEST name"> <input name="description" type="text"
<form method="post" action="/registry/api">
<input name="id" type="text" value="6" readonly>
<input name="name" type="text" value="TEST name">
<input name="description" type="text" value="TEST desc">
<input name="approved" type="checkbox" checked>
<input type="submit" value="Update">
</form>
但如果我进入控制台,删除“readonly”并将此id从“6”更改为“7”,则我的API确实会收到坏id并更新数据库中的坏行
我该如何解决这个问题呢?您的API应该实现某种身份验证和授权层。一种方法是将令牌与请求一起传递(例如在
授权
标题中),这样您就可以在后端知道请求此操作的用户是谁。然后,您可以简单地检查给定的用户是否被允许执行这样的操作(使用给定的id
)
您可以看看这篇博客文章,它使用JWT(JSON web令牌)描述了这种模式: