以纯接口的方式做 Web,都用什么方式安全?

2016-04-08 18:00:15 +08:00
 CopyPaste
Argular 、 React 等默认都用接口来传递数据,那么
1. 用户登录状态(没有 session 了)
2. 跨域问题 (跨站安全问题)
3. 标准的 Restful 接口不安全(比如 /user/<id> 这种方式, id 自增的话很容易被抓走全部信息)

目前上面几个问题都解决了,只是感觉比较 ugly ,请教有相关项目经验的老司机都用什么方式解决。
4269 次点击
所在节点    程序员
16 条回复
kenshinhu
2016-04-08 18:03:14 +08:00
登录这个可以用 auth2.0 之类的方式吧
lovez
2016-04-08 18:26:23 +08:00
同样有这些困惑
xujif
2016-04-08 18:30:55 +08:00
token=cookies
跨域可以用 referer 白名单
可读性和防抓取是互斥的。
solome
2016-04-08 18:31:06 +08:00
我目前的做法是加个 Node 层做接口中转。
slixurd
2016-04-08 18:33:10 +08:00
id 都是使用的 view_id 吧,有人用 snowflake 的 id ,也有人直接用 uuid ,不用自增 id 对外展示是常识....
另外我们这边也接了个 node 中间层
jerray
2016-04-08 18:57:14 +08:00
加个中间层代理请求,过滤 API 数据,渲染基础模板,存储用户登录态。
CopyPaste
2016-04-08 19:11:03 +08:00
@slixurd 目前用的 Hashid ,回头看看 snowflake 。
CopyPaste
2016-04-08 19:11:44 +08:00
@solome
@slixurd node 中间层处理什么问题?
billlee
2016-04-08 20:36:53 +08:00
跨域应该不是问题啊,如果用 cookies 保持 session, 那么就还是用一次性地 csrf 参数来防跨域。如果 session 是不是用 cookies 保持的,那就更没有跨域问题了。
dong3580
2016-04-08 21:23:55 +08:00
1.cookies
2.服务器可以设置请求来源。。。
3.
Wicheol
2016-04-08 21:25:54 +08:00
关注一下
ty0716
2016-04-08 21:31:39 +08:00
哈哈,看到有用 jwt 的了
macrosea
2016-04-09 10:33:39 +08:00
mark
china521
2016-04-09 17:05:27 +08:00
localStorage, 放 token, 每次调用 api 传过去.
CopyPaste
2016-04-09 18:24:40 +08:00
@china521 我们也是这么做的
CopyPaste
2016-04-09 18:25:51 +08:00
@CopyPaste 是不是很容易被窃取

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/269622

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX