我正在开发一个使用部分实践RESTful API的项目(截至目前),并且存在一个困扰团队的问题。我们的主要问题是前端返回可以被后端查询的信息是一种不好的做法。这里有安全性和性能之间的权衡。
场景:
Frontend已经说过,后端将用于某些逻辑处理的位置的纬度和经度。给定位置ID,后端可以查询纬度和经度。如果前端在请求中传递了lat / long,则后端需要少做一次数据库查询。请求劫持存在风险,但如果非事务性数据从前端传入,则从长远来看不太可能使性能陷入困境。特别是当一切都向上扩展时。
问题:
虽然参数是从前端传入的,但不用说安全性较低,是否有一个标准来处理这些场景?是否有最佳实践的例外或示例?
答案 0 :(得分:0)
服务器是否需要Location
或Latitude, Longitude
对进行“逻辑处理”?如果我长时间输入两个随机有效数字,lat,服务器是否做了有用或无用的事情?这应该清楚地表明客户需要传递的内容。
如果您对数据库查找有性能问题,请解决该问题(使用缓存或索引,或......)。不要搞砸你的API层来解决两层问题。