Flask-Securityを使用すると、Python Flask Web アプリケーション開発の認証と承認に伴う面倒な作業が大幅に軽減されます。しかし、私は1つの障害に遭遇しました。
ログイン ページでは、さまざまな無効な入力に応答してメッセージが表示されます。例: - 指定されたユーザーが存在しない - 無効なパスワード - アカウントが無効になっている
これは、セキュリティのベスト プラクティスに従っていません。ログイン試行が拒否された理由の詳細をユーザーに漏らしてはなりません。上記のメッセージにより、ハッカーは有効なユーザー名を簡単に識別できます。
これらの標準的な Flask-Security メッセージをオーバーライドして、すべて「無効なユーザー名またはパスワード」などに置き換えたいと考えています。ただし、これを行う便利な方法は見つかりませんでした。
これらのメッセージは、site-packages/flask_security/core.py の _default_messages に保存されます。そのファイルを変更することはできますが、それは良い解決策ではありません。Flask-Security を再インストールまたは更新すると、ファイルが壊れてしまいます。
Flask-Security のデフォルト ビューをカスタマイズできることはわかっています。ただし、ビューには次のような役立つコードが含まれています
{{ render_field_with_errors(login_user_form.email) }}
ログインフォームの実装の詳細を非表示にします。いくつかのメッセージを変更するためだけに、役立つコードをすべて破棄して、そのほとんどを書き直すことはしたくありません。
Flask-Security のログイン メッセージをカスタマイズするより良い方法を知っている人はいますか?