【问题标题】:Security of python flask REST API using HTTP Basic Authentication使用 HTTP 基本身份验证的 python flask REST API 的安全性
【发布时间】:2013-11-05 07:44:29
【问题描述】:

我的服务器上运行着 python 烧瓶,暴露了一个 iOS 应用程序正在使用的 REST API。我正在使用 Flask-HTTPAuth: 模块使用 HTTP 基本身份验证。我想知道这是多么安全,因为用户名:密码字符串将在每个请求上发送。

我需要改用 HTTPS 吗?

谢谢!

抱歉英语不好。还在学习中。

【问题讨论】:

    标签: python http https flask basic-authentication


    【解决方案1】:

    您当前的系统(非常!)不安全,任何人都可以在传输过程中看到登录信息。

    添加安全 HTTP 的最简单方法是安装像 nginx 这样的代理服务器。然后将 nginx 配置为安全 HTTP,但它将所有请求中继到侦听私有套接字上的 Flask 应用程序,而无需加密。

    This link 会将您发送到有关安全 HTTP 的 nginx 文档。

    【讨论】:

    • 谢谢 - 我想是的。您是否知道任何可以帮助我完成设置证书等过程的网络教程。我将根据 HTTPS 开始阅读并使用您提供的链接。 - 谢谢
    • @wholly_cow:您应该能够很容易地找到有关如何设置证书的教程。提示:使用搜索词“SSL 证书”。
    • 谢谢@MarkHildreth。这实际上很有帮助。我发现这个link 帮助了服务器端,现在我正在通过客户端工作。我还有一个问题:鉴于我对 SSL 证书的基本了解,我不需要签名证书——这是一个正确的假设吗?如果没有签名证书,我的客户端和服务器之间的流量是否仍会被加密?
    • @Miguel。使用this method 我可以只使用 nginx 在生产环境中部署烧瓶服务器吗?
    • @wholly_cow:请停止在答案的评论部分提问。如果您还有其他问题,请将其作为一个新问题提出(或者更好的是,搜索之前提出过相同问题的其他人)。
    【解决方案2】:

    或者,您可以使用HTTPS running directly from Flask。该链接有关于如何执行此操作的明确说明。这是一种在开发过程中使用起来快速、简单的方法。

    对于生产,我会使用 Apache 的 mod_ssl 函数,或者如 Miguel 所述的 nginx,作为代理服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多