【问题标题】:Angular 5/6 project query parameter encryptionAngular 5/6 项目查询参数加密
【发布时间】:2018-11-14 01:54:03
【问题描述】:

我正在尝试加密 Angular 5/6 项目中的查询参数。我们在 URL 中有一些敏感数据,我们可能需要对其进行加密或散列,以免外部用户知道。

有没有办法做到这一点或值得这样做?例如,这是否真的安全,或者可能对性能有很大影响?

我看到一些路由配置为/edit/:id/:name,但我不知道在 URL 中公开 ID 或其他参数是否真的安全。

【问题讨论】:

  • “安全”是什么意思?您要解决什么具体问题?
  • 好吧,有时我不会在 URL 中传递 id 然后通过该 id 从数据库中检索对象,而是尝试在 URL 中传递对象的一些属性,例如 /edit/:id/ :name/:zip/:phoneNumber -->(/edit/12/tommy/45402/9292412314),这样可以在加载页面时节省一些时间,避免通过远程后端api调用。但是,我不想直接向用户公开这些查询值,因此在加密这些参数并将它们传递到 URL (如(/edit/4a41/wlajsl/siea1ls7/asfeas)之后,用户不知道究竟包含什么)网址
  • 例如,如果查询字符串包含SSN,最好加密
  • 你为什么要在 URL 中传递它?如果需要,请使用单独的 ID 来识别用户并通过 服务 传递电话号码和 SSN 等私人数据。在 URL 中加密不会起作用,因为解密代码也会公开。
  • 你的意思是Angular代码的解密会公开?嗯,这是真的,我在 URL 中传递它是为了提高性能,例如,我有一个弹出窗口只包含 id、name 和 SSN 字段,因此通过数据库通过 ID 通过服务获取这些字段数据,我只是从我的网格数据中获取它们并尝试将它们传递到 URL,然后映射到我的方向弹出模型。

标签: angular5 angular-routing url-parameters angular6


【解决方案1】:

就像@jonrsharpe 建议的那样,我们可以通过服务使用eventEmiiter 或主题来在组件之间将数据作为对象传递,因此无需在路由中处理哈希查询参数。

【讨论】:

  • 但是如果我尝试重新加载同一页面,我认为我不会工作。
猜你喜欢
  • 2019-05-10
  • 2018-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-06
  • 2019-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多