我一直是服务器端渲染开发人员 (JSP/Struts),我们正在转向客户端渲染 (VueJS)。我认为 100% 客户端渲染是一个安全“问题”(我认为)。因此,返回到浏览器的 HTML 将包含所有功能,即使特定用户可能无权执行某些操作(因此不会被呈现)。例如,想象一个显示小部件的页面。有一个“删除小部件”按钮(单击该按钮会调用/小部件/删除)。该用户无权执行删除操作。不显示“删除”按钮没有问题,当然,服务器端代码将检查授权并拒绝任何未经授权的用户。但我觉得将 HTML 片段返回到浏览器(即使它没有渲染)并不好。我是不是想太多了?
最佳答案
您的应用程序支持删除已不是什么 secret 。
只要/Widget/delete 入口点得到适当的保护(通过身份验证、授权和 CSRF 保护),下载调用它的代码就不会产生安全问题。
关于javascript - 由于权限而导致的客户端渲染和隐藏功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49321821/