首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的Flask REST API有多安全?

我的Flask REST API有多安全?
EN

Stack Overflow用户
提问于 2016-02-27 03:52:43
回答 1查看 1K关注 0票数 1

我的网站是基于http协议的。我的flask API是通过flask-httpauth (https://github.com/miguelgrinberg/Flask-HTTPAuth)保护的。

在我的Flask API前面有一个Tornado web服务器,它监听一个私有端口5000。客户端API请求首先转到Tornado服务器,然后该服务器调用Flask API

这是我得到的流程:

我的网站(在http上)-> corpauthentication (在https上) -->回到我的网站(http) -->客户端调用Tornado服务器--> Tornado调用Flask API并返回结果

我的API和网站有多安全?我正在阅读这个链接Security of python flask REST API using HTTP Basic Authentication,在我看来它是安全的,但我永远不能确定。

如果它不安全,你认为我还能做些什么来使它更安全?由于需要进行身份验证才能进入,我觉得在UI端它是相当安全的。但是假设有人正在监听我的端口80,即使有tornado + httpbasic身份验证,他们也能跟踪任何API请求吗?

这是我的Tornado服务器代码:

代码语言:javascript
复制
from tornado.wsgi import WSGIContainer
from tornado.ioloop import IOLoop
from tornado.web import FallbackHandler, RequestHandler, Application
from flaskfile import app

class MainHandler(RequestHandler):
  def get(self):
    self.write("This message comes from Tornado ^_^")

tr = WSGIContainer(app)

application = Application([
(r"/tornado", MainHandler),
(r".*", FallbackHandler, dict(fallback=tr)),
])

if __name__ == "__main__":
  application.listen(5000)
  IOLoop.instance().start()

这就是我从Javascript调用API的方式:

代码语言:javascript
复制
$.ajax({
            url: 'http://x.x.x:5000/data',
            type: 'GET',
            dataType: 'json',
            async: false,

            headers: {
                "Authorization": "Basic " + btoa("username" + ":" + "password")
            },

            data: {start: startdate, end: enddate},
            success: function(result) {
                data = result.results;
            }
         });
EN

回答 1

Stack Overflow用户

发布于 2016-02-27 05:56:39

不,这不安全-您链接到的other question中的注释是完全正确的。(顺便说一句,你的问题实际上是那个问题的副本)。

基于常规未加密HTTP的身份验证永远不会安全-用户和text服务器之间的任何设备都将以纯文本形式看到用户名和密码。作为第一步,您应该实现SSL/TLS来加密身份验证信息。

Tornado真的需要坐在某种web代理后面。您可以使用Apache或Nginx来完成此角色。下面是在this related question中设置Tornado+Nginx的说明。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35660502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档