gpt4 book ai didi

java - 过滤 URL 以仅允许公开可见的 URL

转载 作者:可可西里 更新时间:2023-11-01 16:36:35 25 4
gpt4 key购买 nike

我的应用中的用户可以在他们之间发送消息,他们可以在内容中嵌入来自公共(public)站点的图像。我想下载这些图像并将它们存储在我自己的存储空间中,这样当图像从 Internet 上删除时我的应用程序不会中断。

我担心安全隐患。

  • 如果用户发送带有以 http://localhost 开头的 img src 的消息会怎样?我将请求我自己的服务器。
  • 如果 src 是私有(private) ip 怎么办。我将连接到我的专用网络中的服务器。
  • 如果 src 是解析为 127.0.0.1 的主机怎么办。
  • 还有其他我想不到的讨厌的想法。

我该怎么做才能检查我是从公共(public)服务器下载图像而不是我自己的。

我使用的是标准 Java。

最佳答案

为此有前端和后端解决方案。

只是阻止您的应用接受此类链接。 使用模式确保过滤某些内容,例如本地主机链接或滥用链接。即使它们被缩短了。 https://stackoverflow.com/a/8151742/2110818

或者配置您的防火墙,以确保端口 80 和 443 在装有 apache 服务器的机器上不可访问。您可以做很多事情。

您正在使用或将要使用哪个服务器来托管您的服务器?例如,您可以确保 tomcat 或其他服务器的安全并防止发生如下情况:https://www.mulesoft.com/tcat/tomcat-security

此外,即使在他们的代码中,也应该尝试阻止任何类型的未经验证的重定向。所以,不要只关注外部威胁,您自己的代码可能会伤害您。查看此以了解更多信息:https://www.owasp.org/index.php/Unvalidated_Redirects_and_Forwards_Cheat_Sheet

但是,我认为防止内部和外部威胁最相关的解决方案是配置好您的机器并确保防火墙涵盖所有方面。那里有保护服务器安全的详细指南。

关于java - 过滤 URL 以仅允许公开可见的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39668823/

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