【发布时间】:2014-06-01 21:33:41
【问题描述】:
Flask-Security 为 Python Flask Web 应用程序开发消除了身份验证和授权方面的大量繁重工作。不过,我遇到了一个障碍。
在登录页面上,会闪烁消息以响应各种无效输入。示例包括: - 指定的用户不存在 - 无效的密码 - 帐户被禁用
这不符合安全最佳做法。您不应向用户透露其登录尝试被拒绝的原因的详细信息。上述消息使黑客更容易识别有效用户名。
我想覆盖这些标准的 Flask-Security 消息,将它们全部替换为“无效的用户名或密码”之类的内容。但是,我还没有找到方便的方法。
这些消息存储在 site-packages/flask_security/core.py 中的 _default_messages 中。我可以修改该文件,但这不是一个好的解决方案:如果我重新安装或更新 Flask-Security,它会中断。
我知道我可以customize Flask-Security's default views。但是视图包含有用的代码,例如
{{ render_field_with_errors(login_user_form.email) }}
隐藏登录表单的实现细节。我不想丢弃所有有用的代码并重写大部分代码来更改一些消息。
有人知道自定义 Flask-Security 登录消息的更好方法吗?
【问题讨论】:
标签: python flask flask-security