使用 file_get_contents 和 API 密钥安全吗?

Safe to use file_get_contents with API Key?

好的,所以我已经为某项服务购买了一个 API 密钥,该服务以 json 格式响应,我获得此 json 响应的计划是使用file_get_contents() 喜欢

$jsonResponse = file_get_contents("https://example.com/exampleapi.php?API_KEY=123456");

所以我的问题是,这个 and/or 安全吗?我是否需要担心用户使用 Wireshark 之类的东西并获取我的 API 密钥?

cURLfile_get_contents 以及其他正常的 HTTP 请求方法如果以相同的方式配置,应该向服务器发送完全相同的信息。

您可能关心的问题:

  • HTTP/HTTPS:在 PHP 的某些发行版中,file_get_contents 不支持 https://。否则,如果你使用HTTPS,相对来说更安全,不管你用什么函数发送请求。
  • GET/POST: 我认为 file_get_contents 不支持 POST 请求。 但是,由于您不是浏览器,请求方法并没有真正影响你。如果有人要拦截连接,GET 和 POST 不会有太大区别。唯一的问题是有些服务器存储了 GET 字段,但无论如何这是服务器的责任。

因为这是 HTTP_S_,所以 URL 作为通信的一部分被加密,这实际上是安全的。普通 HTTP 请求以明文形式发送整个 URL,这意味着它可以(并且通常)由第三方代理等记录。
这就是 POST 与 GET 进入等式的地方。 (POST 代理不记录数据。)

只要file_get_contents ()支持HTTPS流,就绝对安全。如果没有,您将收到一条错误消息,如果处理不当,可能会暴露您的 API 密钥。 换句话说,总是处理你的错误! ;)