有効期限切れ時の自動禁止解除機能の実装
友達...質問したいのですが...ユーザーを 1 日禁止した場合...通常、1 日の有効期限が切れた後の自動禁止解除機能はどのように実装されますか?...
------解決策----------------------
有効期限が切れたユーザーの禁止を解除するためにスクリプトが定期的に実行されます
------解決策----------------------
ログイン時の確認に同意します。
1. 禁止されたユーザーは Web サイトの総ユーザー数の最大 20% を占めます (禁止されたユーザーが 80% に達した場合、このフォーラムはすぐに閉鎖されます)。80% の時間を費やす必要はありません。さまざまな設計と開発 (メンテナンスコストが増加するスクリプトの自動実行など);
2. 禁止されたユーザーは、Web サイトの通常のユーザーではありませんが、ログインしたとしても SQL クエリが遅くなります。ない?本末転倒しないでください。
------解決策------------------
Quote :
Quote: Quote:
ブロックを解除するための前提条件は、ユーザーがログインしていることです。ユーザーがログインしなくなった場合
禁止されているため、ブロックを解除しても役に立ちません。
禁止された情報はユーザーに関連付けられているため、ユーザーがログインするときに確認してください。
ステータスを変更する必要がある場合は、変更することもできます。この時点でそうしてください
モデレーター、ありがとうございます。私が達成したいのは、ユーザーの発言機能を禁止することです...しかし、ブラウジングなどの他の機能は通常どおり続行できます...
私はこれを想像します:
通常のユーザーのステータス フィールドはすべて 1...
ユーザーをブロックする `ステータス フィールド' は時間をミュートするために time() に設定されます...
権限が付与されるたびにと判断される場合は、`status field`の値がtime()より小さいかどうかを確認する必要があります...
しかし、このようにSQLクエリを実行すると... ..ただし、time()より小さいかどうかを判断します毎回は 1 かどうかを判断するほど速くはありません...
なぜ毎回 SQL クエリで判断する必要があるのでしょうか?ログイン時にデータを読み取り、ログインステータス (通常はセッションまたはクッキー) と組み合わせて、ここのデータと直接比較できます。