默认服务器中的 运行 flask 是否安全(安全方面)?
Is running flask in the default server safe (security-wise)?
我正在考虑 运行 一个非常简单的本地 Flask 服务器(使用默认开发服务器),然后通过 http://localhost.run/ 将其开放到网络。我打算将其作为个人 webhook 服务器,仅此而已。
我以前看过相关问题(例如Is the server bundled with Flask safe to use in production?等),但是:
- 我不在乎它不能很好地扩展
- 我不希望一次收到多个请求
- 我会不会使用调试模式
我的问题是:如果我这样做,我的计算机和本地网络的安全性如何?我可能会将请求限制为 POST 个请求并查看他们有一个特殊的密钥,或类似的东西,我唯一要做的 与 webhooks 是显示通知。
缺少来自 Pallets Project 的人发言,关于推荐的官方说法是
https://flask.palletsprojects.com/en/1.1.x/tutorial/deploy/#run-with-a-production-server
如果您对服务器有足够的访问权限以允许 运行 监听套接字的东西,那么添加 WSGI 服务器的步骤并不大。上面的 link 推荐 waitress
(并提供说明),但 gunicorn
和 uwsgi
也可以。
补充我的意见:
解析 HTTP 和处理边缘情况是困难的,那么当 WSGI 前端已经承担责任时,为什么还要 Flask/Werkzeug 花精力处理边缘情况呢?在他们的位置上(我不是),我会把扩展性和安全性放在 WSGI 服务器上,并专注于制作一个优秀的框架。
我正在考虑 运行 一个非常简单的本地 Flask 服务器(使用默认开发服务器),然后通过 http://localhost.run/ 将其开放到网络。我打算将其作为个人 webhook 服务器,仅此而已。
我以前看过相关问题(例如Is the server bundled with Flask safe to use in production?等),但是:
- 我不在乎它不能很好地扩展
- 我不希望一次收到多个请求
- 我会不会使用调试模式
我的问题是:如果我这样做,我的计算机和本地网络的安全性如何?我可能会将请求限制为 POST 个请求并查看他们有一个特殊的密钥,或类似的东西,我唯一要做的 与 webhooks 是显示通知。
缺少来自 Pallets Project 的人发言,关于推荐的官方说法是
https://flask.palletsprojects.com/en/1.1.x/tutorial/deploy/#run-with-a-production-server
如果您对服务器有足够的访问权限以允许 运行 监听套接字的东西,那么添加 WSGI 服务器的步骤并不大。上面的 link 推荐 waitress
(并提供说明),但 gunicorn
和 uwsgi
也可以。
补充我的意见:
解析 HTTP 和处理边缘情况是困难的,那么当 WSGI 前端已经承担责任时,为什么还要 Flask/Werkzeug 花精力处理边缘情况呢?在他们的位置上(我不是),我会把扩展性和安全性放在 WSGI 服务器上,并专注于制作一个优秀的框架。