全て。
現在、Web サイトの mysql テーブルのデザインを作成しています。以下にそれを見ることができます。私は3つのテーブルを持っています:
- tbl_user - ユーザー用。
- tbl_session - セッションおよび
- tbl_block - ブロック ユーザー向け - 次のように機能します。
block == 0
ログインできれば、block == 1
ログインできない場合: login_number - 増分カウント (デフォルト == 1) ユーザーが 3 回間違ったパスワードを入力すると (login_number == 4)、1 時間ブロックされます (ブロックは「1」に変更され、time_blocked が設定されます)。block == 2
その他の理由でログインできない場合。
-- -----------------------------------------------------
-- Table `mydb`.`tbl_user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`tbl_user` (
`user_id` INT NOT NULL AUTO_INCREMENT ,
`username` VARCHAR(200) NULL ,
`password` VARCHAR(200) NULL ,
`salt` VARCHAR(200) NULL ,
`info` VARCHAR(200) NULL ,
`date_created` DATETIME NULL ,
PRIMARY KEY (`user_id`) ,
UNIQUE INDEX `username_UNIQUE` (`username` ASC) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`tbl_session`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`tbl_session` (
`session_id` INT NOT NULL AUTO_INCREMENT ,
`user_id` VARCHAR(200) NULL ,
`data` VARCHAR(200) NULL ,
`info` VARCHAR(200) NULL ,
`date_created` DATETIME NULL ,
`date_expired` DATETIME NULL ,
PRIMARY KEY (`session_id`) ,
UNIQUE INDEX `user_id_UNIQUE` (`user_id` ASC) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`tbl_user_block`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`tbl_user_block` (
`block_id` INT NOT NULL AUTO_INCREMENT ,
`user_id` VARCHAR(45) NULL ,
`block` TINYINT NULL DEFAULT 0 ,
`login_number` TINYINT NULL DEFAULT 1 ,
`info` VARCHAR(200) NULL ,
`date_blocked` DATETIME NULL ,
PRIMARY KEY (`block_id`) ,
UNIQUE INDEX `user_id_UNIQUE` (`user_id` ASC) )
ENGINE = InnoDB;
大丈夫ですか?何を改善または変更する必要がありますか?