繁体   English   中英

如何在单页应用程序中处理敏感数据

[英]How to process sensitive data in single page apps

我需要了解单页应用程序,也许还需要一些想法。

我想创建一个项目,我将使用MVC进行。 我也想使用AngularJS进行客户端编程。

我知道AngularJS非常适合单页应用程序,在使用SPA时,您会将数据发送到API进行处理。 但是从Angular发送的数据对用户可见,并且可以进行操作。

我不希望用户能够从互联网上看到任何数据或访问API。 我应该遵循的巫婆方式?

我正在考虑将敏感的用户数据保留在MVC控制器中。 例如,假设用户ID对我的项目非常敏感。 如果我将用户ID保留在javascript变量中,那么当我使用某些命令将其发送到API时,用户将能够更改ID并操纵系统。 但是,如果我通过用户身份验证将用户ID保留在MVC控制器中,并将请求发送到我的MVC控制器,则用户将无法更改它。 但是我知道这不是最好的做事方法,必须有一种更聪明的方法。

如果有人可以解释一下这在SPA中是如何工作的,或者当您同时使用Angular和MVC时,我将感到非常高兴。

这是行不通的,您无法阻止用户篡改数据,制定自定义请求以及在自己身边做任何事情。

您应该做的是永远不要相信即将到来的数据-这意味着对每个传入ID进行两次验证,一次是在生成它时,然后是它返回时。 它要么很简单,要么您验证它是否合法,要么对其进行加密,以便当它回来时可以对其进行解密。

一些数据可以存储在服务器端,您提到的ID就是这样的示例。 这样,用户永远不会看到数据,您传递的是会话ID,该ID是一个较长的随机值,很难制作。 这种方法伴随着使用服务器端资源的代价,用户越多,请求之间存储在服务器上的资源就越多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM