简单的展示页面,前后端分离,不用登录,怎么保护后端 API?

2017-07-16 00:17:24 +08:00
 naquda

查了下,一般说道前后端分离,保护 api,就是 JSON Web Token 之类的方法, 都是用户登录产生 TOKEN 来保护 API, 如果只是简单的展示页面,但又不想 API 可以被别人直接访问, 该如何保护?

3509 次点击
所在节点    问与答
7 条回复
UnisandK
2017-07-16 00:21:01 +08:00
API 传输的内容加个密,解密的 JS 再上个混淆?
ericls
2017-07-16 00:23:03 +08:00
Server side render
bazingaterry
2017-07-16 00:24:02 +08:00
我也只想到了 JS 混淆,但是如果对方直接拿 WebDriver 那一类的爬估计也是没办法了……
xfspace
2017-07-16 00:24:22 +08:00
展示还用原始数据?不都是随手生成么
oh
2017-07-16 00:48:02 +08:00
我想说 token 不一定要用户登录才产生,开启 app 的时候也可以产生,用户登录 是一个授权的一种,但授权不一定是用户登录。
我印象中,之前抓包 iOS 版的 什么值得买 就对设备 id 产生了一个 token,现在不知有没有改过( app 已经改版了),楼主可以看看。
naquda
2017-07-16 00:57:55 +08:00
也不能完全说是展示, 比如,实现一个功能,这个功能是需要后端参与的, 以前靠模板渲染, 后端自然是隐藏的, 但现在如果前后端分离, 前端 JS 势必要调用后端 API, 但又不想这个 API 别人拿了 JS 就可以直接访问

貌似必须 Server side render ? 单页也 OK?
isbase
2017-07-16 01:48:33 +08:00
@naquda 浏览器有同源策略限制,渲染 HTML 时注入 token,API 附带这个 token

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

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

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

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

© 2021 V2EX