5

我最近在 Heroku 上部署了一个 Flask 应用程序。它在现有 API 之上提供 API,并且需要用户提供原始服务的机密 API 密钥。该应用程序实际上只是几个表单,其值通过 ajax 传递到服务器上的特定 URL。没有什么花哨。我采取措施不在应用程序中存储机密信息,并且不希望在应用程序的任何地方留下任何痕迹。

查看来自 的日志heroku logs --source heroku,heroku 路由器进程存储应用程序的所有 HTTP 请求,包括那些包含机密信息的请求。

有没有办法指定heroku进程的日志格式以便不存储提供的 URL?

4

1 回答 1

1

正如其他评论者所提到的,将机密信息放在 URL 中是一种不好的做法。在到服务器的往返过程中,这些可能会被多个系统(例如路由器、代理服务器、缓存)缓存或记录下来。有几种方法可以解决这个问题:

  • 把它们放在一个Authorizationheader中。这可能是基于 REST 的 API 处理身份验证的最常见方式。

  • 将它们放入 POST 正文中。这可以将其从 URL 中取出,但在语义上有点奇怪,说您正在将凭据发布到某个资源(如果这是 REST API),除非它是登录调用。

于 2013-02-03T02:53:44.643 回答