gpt4 book ai didi

java - Servlet参数加密

转载 作者:行者123 更新时间:2023-11-30 05:10:31 25 4
gpt4 key购买 nike

仍在此处学习 JSP Web 应用程序。

我在网络应用程序中这样做已经有一段时间了,但我想知道更安全的解决方案。

想象一个显示某些图书信息的表格。当用户单击表中的某一行时,我基本上将 BookID 与 url 一起发送。

示例 URL。 http://locathost:8080/myapp/editbook.htm?bookID=3

在我的 servlet 中。

String strBookID = request.getParameter("bookID");

我认为这有点弱,有没有一种方法可以提供除此之外的更安全的方法。如果我将 BookID 与 URL 一起发送,黑客就更容易编辑 URL。

您能否分享一些有关如何在客户端和服务器端执行此操作的链接?

谢谢

最佳答案

I think this is a little weak, is there a way where I could provide a more secure way other than this.

您必须根据您的应用程序定义“安全”。销售书籍的公共(public)网站与托管 secret 卷的私有(private)图书馆与介于两者之间的任何其他应用程序的要求完全不同。

至少,您应该执行以下操作 -

  1. 验证 bookID 实际上是一个整数并且在预期范围内。
  2. 确保您在参数化 SQL 查询中绑定(bind) bookid - 这是为了防止 SQL 注入(inject)。
  3. 如果找不到图书,则显示“未找到图书”页面

对于一个公共(public)网站来说,以上就足够了。您实际上希望人们发现您的图书,因此如果有人修改了 bookID,您不必在意。

对于一个安全的库,您还需要做更多的事情。

  1. 确保该网址在 web.xml 中受到保护,以便只有经过身份验证和授权的用户才能访问该网址
  2. 验证当前用户是否有权访问 bookID。您可以在 session 对象中存储用户可用的书籍列表。
  3. 如果用户无权访问,则返回 403 错误页面。

还有其他几种保护 URL 的策略;有些使用 token 来确保 URL 未被操纵。其他人不向客户端发送 bookID,而是依赖数字 {1 到 n},其中只有服务器知道 1 对应于 Book A,依此类推。但其想法是确保用户无法访问他无权访问的书籍。

如果您使用 Spring,我强烈推荐 Spring Security。否则请查看 JAAS。

关于java - Servlet参数加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3529077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com