公司有一个小项目自己采用了前后端分离的方式,就是我在js中采用ajax请求后端提供的数据接口(主要是一些文字内容)。有的同事对这种做法提出了自己的疑问,就是数据接口都是写在js中的,那么上线后就有可能被其他人通过查看js的数据接口地址恶意破坏,比如多次循环访问这个接口,造成服务器负荷比较大。
疑问:前后端分离会造成诸如以上的安全问题吗?如何有效避免呢?
公司有一个小项目自己采用了前后端分离的方式,就是我在js中采用ajax请求后端提供的数据接口(主要是一些文字内容)。有的同事对这种做法提出了自己的疑问,就是数据接口都是写在js中的,那么上线后就有可能被其他人通过查看js的数据接口地址恶意破坏,比如多次循环访问这个接口,造成服务器负荷比较大。
疑问:前后端分离会造成诸如以上的安全问题吗?如何有效避免呢?
同意一楼说法, 不要跟这个同事做朋友
ajax 权限有很多种方式比如: token 验证, 签名验证等...
前端在有技术的人面前根本没有秘密只能尽量
只要有人想搞你服务器, 你后端返回页面也没啥用
我觉得同事提个疑问、有担心很正常。
只是安全的问题和前后端分离关系不大,多次访问限制简单一点可以在nginx中做配置实现。
另外,前面一些回答说ajax权限校验,和提问的多次访问造成负载大不是一回事吧。
凑个热闹,楼主同事问题没提到点上。
楼主同事所提的所有问题,都是本来就应该存在在后端的问题,无论分离不分离,任何放在前端的内容安全都是不可靠的,访问控制都需要在后端处理的。
应该把问题关注到前后端分离上,比如一开始加载如果只有模板没有数据SEO怎么做,比如如果不由服务端渲染缓存应该怎么做等等。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
你那个同事水平有限,不要跟他做朋友。
ajax请求也可以加各种权限校验啊。如果能破解了校验,那就算通过页面返回数据,不是一样能模拟发页面请求么?
再说,多次调接口对服务器有压力,那多次请求页面不也有压力么?