@yufan
2016-01-19T17:45:24.000000Z
字数 1950
阅读 888
ApiSystem
一个对外暴露的用户系统,不可避免地遇到被人攻击的情况,各种人不断拿着常见的弱密码字典去暴力破解用户信息。某些人,down下系统的数据库,也会尝试去破解密码。
所以,系统在无法预知环境安全的场景下,容易被人暴力破解成功。
数据字典字段定义
简写 | 描述 | 中文 |
---|---|---|
PK | Primary Key | 主键 |
FK | Foreign Key | 外键 |
AI | auto-incremented, the seed and increment values are 1 unless specified. | 自增,如无额外说明,均为1 |
Def | default value | 默认值 |
NN | Not Null (Required) | 非空(必须定义) |
UC | Unique Constraint | 唯一约束 |
SLT | Single Line of Text | 单行文本 |
MLT | Multiple Lines of Text | 多行文本 |
PG | Person or Group | 用户或者群组 |
Y/N | Yes/No (checkbox) – Yes/No | 布尔值,单选框 |
1、用户表 USER
变更,基于现有用户表,新增一下字段
Field Name | Data Type | Constraints | Comments |
---|---|---|---|
LAST_LOGIN_DATE | DATETIME | NN、Def(1900-01-01 00:00:00) | 上一次成功登录的时间 |
USER_EMAIL | VARCHAR(128) | NN、UC | 用户邮箱 |
USER_STATUS | VARCHAR(32) | NN、Def(AWAIT) | 用户状态,分别为(AWAIT, ACTIVE, TEMP_FROZEN, FORBBIDEN, DELETED) |
2、新增登录错误记录表 LOGIN_ERROR_LOG
Field Name | Data Type | Constraints | Comments |
---|---|---|---|
ID | INT(11) UNSIGNED | PK、AI、NN | 主键 |
USER_ID | INT(11) UNSIGNED | NN | 用户的ID |
ERROR_TIME | DATETIME | NN、Def(CURRENT_TIMESTAMP) | 用户登录失败的时间戳 |
表索引CREATE INDEX IDX_USER_ID_ON_LOGIN_ERROR_LOG ON LOGIN_ERROR_LOG (USER_ID);