【问题标题】:how to hide user id and other parameters in a jsp url?如何在 jsp url 中隐藏用户 ID 和其他参数?
【发布时间】:2013-04-19 02:38:46
【问题描述】:

我有一个 URL,用户可以使用它访问我的 jsp Web 应用程序

http://testerpages.com/testpage/menu1?userId=27

如何向用户隐藏 userID=27 并显示类似的网址

http://testerpages.com/testpage/menu1

是否有任何方法可以向用户隐藏参数,或者我们可以忽略 id,但如果我们在 url 中直接向前端用户显示 id 参数,则会对安全造成威胁

我正在使用

调用此页面
<a href="#" onclick="goToURL('${param.userId}','${contextPath}/menu1?userId=')">Menu1</a>

【问题讨论】:

    标签: javascript jsp url web uri


    【解决方案1】:

    您可以将这些参数作为 GET 传递,这些参数不会显示在 url 中,但也很容易阅读和修改。相反,我会为会话 ID 使用某种加密和验证代码。这将防止用户和攻击者访问其他用户会话。

    【讨论】:

      【解决方案2】:

      您可以在用户登录后将用户ID存储在会话中。当用户访问菜单页面时,您仍然可以从会话中获取ID,您无需将其放入URL中。

      【讨论】:

      • 谢谢!!!对于用户 id,我可以明确地使用会话任何关于用户数据 id 的想法,例如 ex..users > 数据父级记录 id >> 和数据子级记录 id 的列表记录 ...:)
      • @tina 抱歉,我不明白您的评论,这是另一个问题吗?
      【解决方案3】:
      HEX(AES_ENCRYPT(userid,'"key"'))
      

      在你的 sql 或 mysql 查询中使用它来加密你的用户 ID 我在 mysql 中使用它 那应该可以解决您的问题

      【讨论】:

      • 你的意思是我应该在我的选择查询中使用它并从数据库中获取加密的用户 ID
      • 是的,它应该加密用户 ID,而任何其他操作只需使用用于加密解密语法的相同密钥来解密它是 HEX(AES_DECRYPT(userid,'"key"'))跨度>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      相关资源
      最近更新 更多