首页 > 解决方案 > 在构建和运行之后,是否可以在浏览器中查看以角度声明的秘密变量?

问题描述

我想对通过 REST-API 收到的数据使用解密算法,因为我将密钥存储在角度组件 ts 文件中。

我想知道在我构建和部署代码之后。我的密钥是否会在浏览器中的某处可见,因为构建的代码是由服务器获取的纯 javascript。

我正在使用 crypto-js 库来解密数据。

var secret_key = "super-secret";

CryptoJS.AES.decrypt(ciphertext, secret_key)

标签: javascriptangulartypescript

解决方案


如果您可以解释为什么需要它的情况,那么您可能有机会获得更好的方法来做到这一点。

有3种不同的方法来实现它:-

  1. 将角色/权限传递到本地存储以及同时放入后端的会话表(或任何其他表)。每次用户请求某些东西时检查角色/权限,以确保它没有被修改。
  2. 将角色/权限存储在后端,例如会话表中,然后为每个请求提供角色/权限。这样您就不必担心用户随时进行任何修改。
  3. 在 cookie 中传递加密的(RSA 算法)角色/权限并使 cookie httpOnly true 和 secure true,这些 cookie 不能根据协议访问/修改,然后在每个请求中您将拥有

推荐阅读