所以在过去的几周里,我对 Javascript MVC 非常熟悉。现在我正在学习如何对后端进行编程(特别是使用 asp.net MVC 的实现)。我正在学习 Razor 的 View 引擎等。
我在阅读示例和教程时遇到的一个学习障碍是,我在想“好吧..我不能在前端使用 javascriptMVC 完成大部分逻辑吗”,如果我需要与数据库交谈,我可以只使用 JSON 调用。后端编码肯定有一些值(value),但现在我没有看到它(希望解决这个问题)。
最佳答案
客户端始终暴露在攻击者面前,因此您永远无法信任代码。
换句话说:任何与安全相关的事情,验证和验证逻辑都属于服务器,所有身份验证和授权内容,……以及:当您需要确保有一个可靠的实例来决定某些事情时,例如关于价格、折扣等。
网络编程中有一句谚语,那就是:所有输入都是邪恶的。
所以无论来自您的前端(基本上是您的 JavaScript 应用程序)都应该小心处理。始终将输入列入黑名单或白名单,对其进行编码、转换、检查等等……并且唯一可以可靠地执行此操作的地方,因为服务器是唯一受您控制的地方。
此外:切勿将 secret 放入客户端,例如凭据(例如,对于您的数据库)。
希望这可以帮助。
关于razor - 什么时候在前端和后端实现逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20530279/