簡體   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