0

かなり安全である必要がある Web ベースの模擬試験紙を作成しています。

ニーズは次のとおりです。 各質問は 1 回だけ試行して回答できます。すべて複数選択問題です。質問に回答して送信ボタンを押すと、そのセッションは期限切れになり、戻るボタンやその他の方法で同じ質問が表示されてはなりません。

ブラウザがクラッシュしたり、システムがクラッシュした場合、学生は、最後に試行され、まだ回答も提出もされていない問題に戻ることができなければなりません。

Djangoで実装する際に採用する最善の戦略は何でしょうか. 送信ボタンが押されたら、どのようにしてセッションを自動的に強制終了しますか? また、戻るボタンを押しても、試行して回答した質問にアクセスできないようにするにはどうすればよいでしょうか?

グーグルで検索してみましたが、より適切なガイドとなるリソースを示すことができません。django セッションのドキュメントを見たことがありますが、これを行う正しい方法を知っているかどうかはわかりません。どんな提案でも役に立ちます

4

1 に答える 1

3

また、戻るボタンを押しても、試行して回答した質問にアクセスできないようにするにはどうすればよいでしょうか?

リダイレクト後の取得。 http://en.wikipedia.org/wiki/Post/Redirect/Get

送信ボタンが押されたら、どのようにしてセッションを自動的に強制終了しますか?

本当に意味がありません。セッションを「強制終了」する必要はありません。2 つのことを行う必要があります。

  1. このユーザーのデータベース エントリを更新して、どこまで到達したかを示します。

  2. セッションを更新して、彼らがどこまで到達したかを示します。

セッションを「強制終了」しようとしないでください。セッション情報 (および基礎となるデータベース) を正しく保ちます。

セッションを強制終了しても、強制的に再度ログインするだけです。これは単に煩わしいだけです。さらに、再度ログインするときは、データベースが正しい必要があります。正しくない場合、テストが再び開始されます。したがって、データベースとセッションの同期を維持するだけで済みます。

于 2010-08-17T19:26:37.847 に答える