ログイン エラーの数とセッション時間を保存します。エラーの最大数に達すると、ログインできなくなります。ただし、Cookie をクリアするとログインできます。どうやって解決すればいいのでしょうか?それともログイン数を制限する他の方法はありますか?ありがとう!
给我你的怀抱2017-05-31 10:35:27
キャッシュ制御にはmemcacheまたはredisを使用します
$key = ログインアカウント
$value = 失敗したログインの数
$this->set($key,$value);
高洛峰2017-05-31 10:35:27
あなたのような状況は、グローバル キャッシュを通じてのみ処理できます。特定のユーザー名のログイン数を制御する場合は、
1. キー値キャッシュの場合、統一データ構造 key=value => username={'ログイン数':1} を使用し、redis、memcache、mysql を使用します。 (キャッシュテーブル、カラム[キー値]、インデックスハッシュキーを作成)
$userinfo = $cacheobj->get('username')でユーザー情報を取得し、ログイン数を求め、ログイン数を増やす $cacheobj -> set('ユーザー名', $userinfo) 書き戻します
mysql ユーザーログインテーブルに新しいログイン番号カラムを追加し、SQL を呼び出し、取得、判定、自動インクリメント、更新します
1. KeyValue キャッシュの場合
、データ構造はユーザー名 = {'ログイン数': 1, 'タイムアウト時間': タイムスタンプ} に更新され、タイムアウトが発生した場合の判定に時間許容度が加算されます。ログイン数は0に設定されています
$cacheobj->set('username', 'ログイン数', timeout)
この場合、タイムアウト列を追加します