flask

資安宣導 — 用 secure_filename 強化檔案上傳的安全

現代很多應用都需要實作檔案上傳的功能,例如上傳使用者圖像、上傳 CSV 表格等等,不過檔案上傳也是很容易造成資安漏洞的一項功能,一旦寫得不好,就會給惡意人士製造機會入侵系統,甚至成為散佈惡意軟體的中繼站。

本文將說明 1 個檔案上傳功能的資安問題以及如何進行防禦。

Posted on  Jan 18, 2024  in  Python 程式設計 - 中階 , Python 資訊安全  by  Amo Chen  ‐ 2 min read

Flask 整合 Celery

提到 Python 非同步(asynchronous)工作通常都會想到 Celery ,而 Web-based 應用程式也經常會將耗時的要求利用非同步的方式完成,所以 Django, Flask 等 Web framework 也幾乎都會整合 Celery 。

其中 Flask 的 Celery 相關套件相對鮮少維護,因此不建議利用 Flask Celery 套件整合 Celery 。

所幸用 Flask 整合 Celery 並非難事,本文將紀錄如何不利用 Flask 套件的情況下整合 Celery 。

Posted on  Jun 1, 2019  in  Flask  by  Amo Chen  ‐ 2 min read

Flask 整合 Google 登入(Google Sign-In)

隨著 Gmail 與 G Suite 的普及,越來越多人擁有 Google 的帳號,因此現代應用程式在整合登入服務時,支援使用 Google 帳號的進行登入也很重要,本篇記錄如何用 Flask 整合 Google Sign-In 。

Posted on  Apr 20, 2019  in  Flask  by  Amo Chen  ‐ 3 min read

Flask 在本機(localhost)實作 Facebook login

由於現在整合 Facebook Login API 時必須強制使用 HTTPS 以確保 Facebook 使用者的安全性,所以在本機(localhost) 整合 Facebook Login 時稍微會麻煩一些。

本文記錄如何在本機的 Flask 專案整合 Facebook login 。

Posted on  Mar 17, 2019  in  Flask  by  Amo Chen  ‐ 3 min read

Python - Flask i18n 多國語系功能實作

Django 對於 internationalization 與 localization 已提供成熟的解決方案,官方 文件 也寫得十分詳細。

而 Flask 作為一個輕量化的 Web Framework ,並沒有內建 i18n & l10n 的功能,不過只要安裝 Flask-Babel 也可以做到一樣的事情,剛好整合過程也十分簡單,特此紀錄一篇。

Posted on  Dec 7, 2018  in  Flask  by  Amo Chen  ‐ 4 min read