ホームページ >バックエンド開発 >PHPチュートリアル >携帯電話認証コードの認証問題について

携帯電話認証コードの認証問題について

WBOY
WBOYオリジナル
2016-09-09 08:28:031353ブラウズ

ユーザーが登録するとき、いくつかのコンテンツを入力し、各フォームにフラグ値を与える必要があります。
フォーカスが失われると、フォームのフラグ値が検出されます。
最終的な送信が行われると、これらのフラグ値は正しくなります。
しかし、問題が発生します。 :
ユーザーのフォーカスが確認コード入力ボックスにあり、ユーザーが確認コードを入力した後、送信ボタンをクリックして登録する場合、問題はありません。
ユーザーがマウスを移動するためです。検証コード入力ボックスから送信ボタンまで、検証コードは検証済みです。完了しており、そのフラグ値はすでに true です
ただし、ユーザーが Enter キーを使用して送信し、フォーカスがまだ検証コード入力ボックスにある場合、これはコードを使用した手動の focusout() が必要です

リーリー

認証コードはセッションに配置されます。このとき、検出が完了する前に、ユーザーの認証コードが正しいかどうかを確認する必要があります。その後、次のコードを実行します。が実行されて false が返され、フォームが失敗します
また、ユーザーが送信するときに、検証する必要があるすべてのものが検証できるように、for ループに遅延を与えることも考えました
しかし、この場合、ユーザーは何も入力せずに直接送信することができ、フロントデスクでの確認はすべて無効になります
私の説明が十分に明確であるかどうかわかりませんが、何か明確に説明していない場合は、メッセージを残してください。みんな

返信内容:

ユーザーが登録するとき、いくつかのコンテンツを入力し、各フォームにフラグ値を与える必要があります。
フォーカスが失われると、フォームのフラグ値が検出されます。
最終的な送信が行われると、これらのフラグ値は正しくなります。
しかし、問題が発生します。 :
ユーザーのフォーカスが確認コード入力ボックスにあり、ユーザーが確認コードを入力した後、送信ボタンをクリックして登録する場合、問題はありません。
ユーザーがマウスを移動するためです。検証コード入力ボックスから送信ボタンまで、検証コードは検証済みです。完了しており、そのフラグ値はすでに true です
ただし、ユーザーが Enter キーを使用して送信し、フォーカスがまだ検証コード入力ボックスにある場合、これはコードを使用した手動の focusout() が必要です

リーリー

検証コードはセッションに配置されます。このとき、検出が完了する前に、ユーザーの検証コードが正しいかどうかを確認する必要があります。その場合、次のコードになります。実行されて false が返され、フォームが失敗します
また、ユーザーが送信するときに検証する必要があるすべての項目を検証できるように、for ループに遅延を与えることも考えました
しかし、この場合、ユーザーは何も入力せずに直接送信することができ、フロントデスクでの確認はすべて無効になります
私の説明が十分に明確であるかどうかわかりませんが、何か明確に説明していない場合は、メッセージを残してください。みんな

送信するときにすべてのテスト条件を再度実行し、すべてのフラグが true であるかどうかを確認できます。

バックグラウンドセッションと比較するために、検証コードの入力値を直接送信できます。なぜフロントエンド検証マークを送信する必要があるのですか?フロントエンドで送信されるものはすべて偽造される可能性があります。

送信する前に ajax イベントを追加します。つまり、検証コードが正しいかどうかを判断し、正しくない場合はポップアップ ウィンドウが表示され、送信しません。
上記の事態を防ぐことができます。

リーリー

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。