javascript - 在构建和运行之后,是否可以在浏览器中查看以角度声明的秘密变量?
问题描述
我想对通过 REST-API 收到的数据使用解密算法,因为我将密钥存储在角度组件 ts 文件中。
我想知道在我构建和部署代码之后。我的密钥是否会在浏览器中的某处可见,因为构建的代码是由服务器获取的纯 javascript。
我正在使用 crypto-js 库来解密数据。
var secret_key = "super-secret";
CryptoJS.AES.decrypt(ciphertext, secret_key)
解决方案
如果您可以解释为什么需要它的情况,那么您可能有机会获得更好的方法来做到这一点。
有3种不同的方法来实现它:-
- 将角色/权限传递到本地存储以及同时放入后端的会话表(或任何其他表)。每次用户请求某些东西时检查角色/权限,以确保它没有被修改。
- 将角色/权限存储在后端,例如会话表中,然后为每个请求提供角色/权限。这样您就不必担心用户随时进行任何修改。
- 在 cookie 中传递加密的(RSA 算法)角色/权限并使 cookie httpOnly true 和 secure true,这些 cookie 不能根据协议访问/修改,然后在每个请求中您将拥有
推荐阅读
- database - 在 oracle 中插入查询显示错误缺少表达式
- reactjs - 使用对象实例作为 React 列表中的键
- amazon-web-services - 使用 AWS API Gateway + Lambda/ECS 开发的微服务应该怎么讲?
- swift - 如何在 swift 4 中为循环编写这个
- jquery - 如何将从ajax调用返回的数据附加到html表?
- android - kotline 调试模式,变量总是显示采集数据
- angular - Angular 6 - 当父组件获取其子组件的数据时显示加载消息
- php - 为什么 Laravel 不关心数组输入验证?
- python - subprocess.Popen() 中的 ADB 命令 exec-out 不起作用
- django - Django 崩溃 - 分段错误:macOS 上的 11