保障React變數導入的安全性
P粉610028841
P粉610028841 2023-09-16 15:11:12
0
1
902

如果我在React檔案中匯入一個物件以使用其中的一些值,會導致安全性問題嗎?

例如,如果我有一個像這樣的物件:

var data = {
     'name': 'Adam',
     'id': 12345,
     'secret': 98765
}

並且我像這樣導入它:

import { data } from 'db.js';
 
function Index(){
     return(
          <>
             {data.name}
             {data.id}
          </>
     );
}

我會建立一個場景,使得某人可以使用匯入的「data」物件呼叫並查看「secret」值,還是React會阻止這種情況發生?

P粉610028841
P粉610028841

全部回覆(1)
P粉852114752

您應該將發送到客戶端機器的任何程式碼視為公開的。任何足夠專注的開發人員最終都可以進行逆向工程(儘管程式碼的大小和縮小/混淆可能會增加難度)。

保持secret秘密的唯一方法是先不傳送到客戶端 - 這可以透過在伺服器上完成所有渲染工作,然後將產生的HTML標記傳送到客戶端來實現。 (話雖如此,由於客戶端渲染元件的靈活性更大,通常最好的做法是在客戶端的捆綁包中包含敏感值。)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板