【发布时间】:2015-12-26 20:50:20
【问题描述】:
我正在制作一个小应用程序(.Net web api 后端服务和 angularjs 用于前端)只是为了学习这些框架,开始喜欢项目本身并认为部署它会很好......
然而,我的 .net 休息服务是公开的,目前任何人都可以通过 api 对象暴露出来,显然我不希望有人偶尔清除我的数据库。我并没有真正存储任何敏感信息,它是一个小型网络游戏,我在数据库中存储的只是项目、位置、游戏大厅、玩家(只有 id、用户名和参考列)之类的东西,但仍然删除它们会在某个地方造成大问题.
那么我该如何预防呢?我的第一个想法是,只要没有人通过以某种方式隐藏用户的 API 调用来发现我的 api 地址,它就会解决。这是可能且现实的解决方案吗?
【问题讨论】:
-
"I don't want somebody clearing my database once in a while"- 那么不给未经授权的用户这样做的能力吗?您无法隐藏客户端代码正在执行/调用的操作。为了在客户端上执行代码,客户端根据定义需要能够读取该代码。 -
@David 当没有用户密码时,我不确定如何授权他们
-
好吧,要么您对用户进行身份验证/授权,要么您不公开该功能。真的没有办法。
标签: javascript angularjs api security