2017-04-17 63 views
0

我使用NodeJS构建了一个简单的REST FULL API。REST API安全性:使用ID更新数据库

当涉及到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" value="TEST desc"> 
    <input name="approved" type="checkbox" checked> 

    <input type="submit" value="Update"> 

</form> 

但是,如果我在控制台去,清除“只读”,改变从“6”这个ID为“7”,我的API确实收到了错误的ID并更新了数据库中的坏行

我如何打呢?

回答

0

你的API应该实施某种形式的身份验证和授权层。一种方法是将请求传递给令牌(例如,在Authorization标头中),以便您在后端知道请求此操作的用户是谁。然后你可以简单地检查给定的用户是否被允许做这样的动作(给定id)。

你可以看看我这篇文章,其中描述了使用JWT(JSON网络令牌)这种模式:

https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens