ログイン失敗回数を制限する
php メソッド: 1. ユーザーのログイン情報を記録するテーブルを作成します; 2. 間違ったパスワードの記録を確認します; 3. 同じ IP の下で、同じユーザーが 2 回以内にログインします30分間、パスワードを間違えた回数が設定回数に達すると、ユーザーはログインできなくなります。
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター
PHP は実現しますログイン失敗回数の制限
間違ったログイン パスワードの回数を制限
すべての Web サイトにとってセキュリティの重要性は自明のことです。
中でもログインはWebサイト内でより攻撃を受けやすい箇所ですが、ログイン機能のセキュリティを強化するにはどうすればよいでしょうか?
まず、いくつかの有名な Web サイトがどのように行うかを見てみましょう
Github
Github Web サイト上の同じアカウントは、同じ IP アドレスを使用して、パスワードを連続して入力すると、一定回数間違えるとアカウントが30分間ロックされます。
Github がこれを行う主な理由は、主に次の考慮事項に基づいていると思います。ユーザーのアカウントのパスワードをブルートフォースクラッキングから守る
user_login_info テーブルrreee
ユーザー テーブル (ユーザー テーブル)
CREATE TABLE `user_login_info` ( `id` int(10) UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL, `uid` int(10) UNSIGNED NOT NULL, `ipaddr` int(10) UNSIGNED NOT NULL COMMENT '用户登陆IP', `logintime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '用户登陆时间', `pass_wrong_time_status` tinyint(10) UNSIGNED NOT NULL COMMENT '登陆密码错误状态' COMMENT '0 正确 2错误' ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `user` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL COMMENT '用户名', `email` varchar(100) NOT NULL, `pass` varchar(255) NOT NULL, `status` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT '1启用 2禁用', PRIMARY key(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以上がPHP でログイン失敗の回数を制限する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。