后台提供了一个接口:
获取所有用户交易记录
这个接口在后台做为用户列表的搜索页面。
在前台为单个用户的个人交易记录。
在node端我实现的是接口的转发,把js的接口转发到后台。
所以我在js中调用接口的方式为:
/v1/transactions?userId = 123
userId是登陆以后给我的,我直接显示在页面上方便我在不同的场合中调用。
后台内容这会出现安全问题:
认为userID不能让客户知道(因为userID为自增的别人能根据userID推算出顾客的数量)
认为我的url不能以这种方式直接传递,这样别的人就知道了我们的表或者说是请求方式。
我想寻找解决办法,但是我感觉这种安全的错误也不在我这边:
userID是后端提供的,当时就不应该是自增的。我是可以把userID保存在node的session中然后在node上面拼接,但是这种办法很麻烦,我要根据不同的接口拼接不同的数据。
url直接连接我认为没什么问题,没想到什么好的别的请求办法。
应该使用后端授权生成一个 token 给前端,前端转发到后台时带上这个token, 后端根据token值自己获取当前用户信息,不应该由前端直接传 userId。
应该在 session 里保存 uid。
请求方式这一块没什么大问题。
安全不只是前端的事,后端也要判断当前用户是否有权限发起该请求,user 123 不应该可以获取 user 124 的数据。
你们的后台没有设计好请求方式就让你调用接口了啊......
这个不应该是后端来规定请求方式么