Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
454 views
in Technique[技术] by (71.8m points)

前后端分离,node直接转发接口 引发的安全性问题

后台提供了一个接口:

获取所有用户交易记录
clipboard.png

  1. 这个接口在后台做为用户列表的搜索页面。

  2. 在前台为单个用户的个人交易记录。

在node端我实现的是接口的转发,把js的接口转发到后台。

所以我在js中调用接口的方式为:
/v1/transactions?userId = 123

userId是登陆以后给我的,我直接显示在页面上方便我在不同的场合中调用。

后台内容这会出现安全问题:

  1. 认为userID不能让客户知道(因为userID为自增的别人能根据userID推算出顾客的数量)

  2. 认为我的url不能以这种方式直接传递,这样别的人就知道了我们的表或者说是请求方式。

我想寻找解决办法,但是我感觉这种安全的错误也不在我这边:

  1. userID是后端提供的,当时就不应该是自增的。我是可以把userID保存在node的session中然后在node上面拼接,但是这种办法很麻烦,我要根据不同的接口拼接不同的数据。

  2. url直接连接我认为没什么问题,没想到什么好的别的请求办法。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

应该使用后端授权生成一个 token 给前端,前端转发到后台时带上这个token, 后端根据token值自己获取当前用户信息,不应该由前端直接传 userId。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...