【发布时间】:2019-06-08 12:18:10
【问题描述】:
我正在实现一个 PHP 服务,它允许书签应用程序获取 URL 的页面标题。服务器将下载 HTML 并提取页面标题,但这需要用户提供要获取的 URL。
从安全的角度来看,我认为用户可以攻击 localhost 以查看是否有任何未对外暴露的 HTTP 服务。
我已经尝试配置 cURL 应该使用哪个网络接口,但这需要配置 PHP 使用哪个接口。当我在像 Docker 这样的容器中运行此服务时,这可能会成为一个问题,这会使这变得更加困难。
是否有用于阻止连接到本地主机的 cURL 配置选项?
或者有没有办法告诉 cURL 只使用外部网络接口?
【问题讨论】:
-
您不能确保用户提供的 URL 是“外部”的,即以 http(s)://www 开头。
-
创建一个仅执行 cURL 请求并在其中执行您想要执行的任何 URL 过滤器的函数。
-
@jibsteroos 是的,这就是我要做的,但我在想如果你可以阻止来自本地主机的 cURL,那么它是更安全的逻辑。
标签: php security curl localhost