php - PC側でユーザーのログイン数を制限!
怪我咯
怪我咯 2017-05-31 10:33:27
0
4
872

ログイン エラーの数とセッション時間を保存します。エラーの最大数に達すると、ログインできなくなります。ただし、Cookie をクリアするとログインできます。どうやって解決すればいいのでしょうか?それともログイン数を制限する他の方法はありますか?ありがとう!

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(4)
我想大声告诉你

データベースにフィールドを追加し、回数を超えた場合はアカウントをロックします...

いいねを押す +0
给我你的怀抱

キャッシュ制御にはmemcacheまたはredisを使用します

$key = ログインアカウント

$value = 失敗したログインの数

$this->set($key,$value);

いいねを押す +0
小葫芦

IP と HTTP_USER_AGENT を使用して、同じユーザーかどうかを判断します

いいねを押す +0
小葫芦

あなたのような状況は、グローバル キャッシュを通じてのみ処理できます。特定のユーザー名のログイン数を制御する場合は、
1. キー値キャッシュの場合、統一データ構造 key=value => username={'ログイン数':1} を使用し、redis、memcache、mysql を使用します。 (キャッシュテーブル、カラム[キー値]、インデックスハッシュキーを作成)
$userinfo = $cacheobj->get('username')でユーザー情報を取得し、ログイン数を求め、ログイン数を増やす $cacheobj -> set('ユーザー名', $userinfo) 書き戻します

2. データベースのログイン情報テーブル構造に組み込みます

mysql ユーザーログインテーブルに新しいログイン番号カラムを追加し、SQL を呼び出し、取得、判定、自動インクリメント、更新します

時差を含めたい場合は、

1. KeyValue キャッシュの場合

、データ構造はユーザー名 = {'ログイン数': 1, 'タイムアウト時間': タイムスタンプ} に更新され、タイムアウトが発生した場合の判定に時間許容度が加算されます。ログイン数は0に設定されています

2. MySQL 以外のキー値キャッシュ (redis、memcache) の場合

$cacheobj->set('username', 'ログイン数', timeout)

3. データベースのログイン情報テーブル構造に組み込みます

この場合、タイムアウト列を追加します

これを実装するには、主に実際のシナリオとリソースに応じて無数の方法があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート