0

ユーザーのログインが特定の日付に最後にログインした場合、認証される前に10のオプションの質問に答える必要がある小さなモジュールをセットアップ中です。10問は選択肢と多肢選択式です。

これを設定する際にアドバイスが得られるかどうか疑問に思っています。それぞれの10個の質問と回答をDBに保存したいので、質問または回答が変更された場合、コードを変更する必要はありません。

pkey で結合される 2 つのテーブルの質問、回答 (1 つの列には質問の正解があります) を持つことを考えていました (これはこれに最適なテーブル構造ですか?)

私のコード(Java)は、各質問と回答を取得し、それらを各質問のハッシュに保存します(これはこれに最適なデータ構造ですか?)

次に、ビューレイヤーには、質問をループする外側のループと、各質問の回答をループする内側のループがあります。本当の答えを非表示の html 変数として保存する必要がありますか? または、ユーザーが送信をクリックして回答を照合できるように、DB に再度アクセスしますか?

どんな提案も役に立ちます。

4

2 に答える 2

1

本当の答えを非表示の html 変数として保存する必要がありますか?

ばかげてはいけない。それを行うと、誰でも簡単に破ることができます。

より広い質問に関しては、有用なアドバイスが必要な場合は、物事をかなり明確にする必要があります。選択肢は (あなたによって) 事前に決定されますか、それともユーザーによって与えられますか? それらはすべてのユーザーに対して同じになりますか? (たとえば) 単なるパスワードではなく、なぜこれを選択するのですか? また、どのユーザーにとってどの回答が正しいかをどこかに保存する必要もありませんか? 質問が変わるとどうなりますか?等。

于 2009-04-06T16:36:58.657 に答える
0

私のコードは各質問と回答を取得し、それらを各質問のハッシュに保存します (これはこれに最適なデータ構造ですか?)

はい、ハッシュは良いアプローチです。単純なハッシュはそれほど強力ではないため、これを読んで、おそらくsaltを追加する必要があります。

本当の答えを非表示の html 変数として保存する必要がありますか? または、ユーザーが送信をクリックして回答を照合できるように、DB に再度アクセスしますか?

いいえ。ソースを表示すると非表示の HTML が引き続き表示されるため、回答を公開することになります。これを行う唯一の方法は、サーバー側ですべてのチェックを行うことです。

于 2009-04-06T16:38:41.803 に答える