ホームページ > バックエンド開発 > PHPチュートリアル > 確認コードの使用を 1 回のみに制限する方法

確認コードの使用を 1 回のみに制限する方法

WBOY
リリース: 2016-06-23 14:04:18
オリジナル
2423 人が閲覧しました


イベントがあると仮定すると、各アカウントは 1 回しか参加できないことがわかります。
認証コードがある場合、誰かが一度認証コードを取得して同じ認証コードを送信した場合、別のアカウントに切り替えてアクティビティに参加してください。
このアプローチは可能ですか? 可能であれば、それを回避する方法はありますか?検証コードとアカウントは何らかの暗号化によってバインドされていますが、送信時に検証されますか?


ディスカッションに返信(解決策)

検証コードは動的に生成され、リアルタイムで検証されます
ご指摘の現象はありません

アクティビティへの参加はもちろん別アカウントでも可能です

検証コードはユーザーにとってはちょっとした手間です

気になるのですが、アカウントを変更しても参加できない場合はどうやって参加資格を判断するのでしょうか?

ログアウトすると元のセッションが破棄されるため、アカウントを変更するとセッションが異なります



まあ、うまく表現できないかもしれませんが、これが私の言いたいことです。異なるアカウントが参加できます。A はアカウント A を使用し、インターフェースを通じて認証コードを取得し、SESSION に保存します。このとき、A は認証に成功した後、引き続きアカウント B を切り替えます。今回は原本を直接提出して確認コードは通せますか? (悪意のあるユーザーが作成したプログラムであると仮定します)

検証が成功した直後に SESSION を破棄する必要がありますが、これは回避可能ですか?

まだ行き詰まっています。アカウント A をアカウント B に変更するにはどうすればよいですか?終了するか、ブラウザを閉じるか、ブラウザを変更してください

セッションは 1 つのアカウントの 1 回のログインにのみ対応します。終了時にセッションは破棄されますか?

クライアントは Cookie を取得することしかできませんが、セッション内の値を変更することはできません

検証コードは修正されましたか?

まだ行き詰まっています。アカウント A をアカウント B に変更するにはどうすればよいですか?終了するか、ブラウザを閉じるか、ブラウザを変更してください

セッションは 1 つのアカウントの 1 回のログインにのみ対応します。終了時にセッションは破棄されますか?

クライアントは Cookie を取得することしかできませんが、セッション内の値を変更することはできません。

私のログインは SESSION ではなく、COOKIES のみを使用します。
SESSION を使用していると仮定すると、確認コードによって保存された SESSION は、ユーザーのログインによって保存された SESSION に関連していますか?

とてもめまいがします...言葉が出ません

これを行うことができます。データベースに確認コードフィールドを追加し、A がログインしている限り、確認コードは A アカウントの確認コードに保存されます。このようにしてバインドできます。具体的な実装はわかりません。ユーザーが検証コードを入力した直後にセッションまたは Cookie の値を破棄することをお勧めします。

メカニズムの重複を減らすために、検証コードを 5 ~ 6 文字など長くすることができます。

これがお役に立てば幸いです! ! !


これをやってみましょう、アイデアを提供してください。

使用された検証コードをデータテーブルに書き込みます。その後、ユーザーが検証コードを送信するたびに、データベースにクエリが実行され、検証コードが使用されたかどうかを区別するフィールドがあります。これにより、招待コードと同様に、確認コードの重複が防止されます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート