1

私の Web アプリケーションでは、ユーザーは製品ページから製品を評価できます。また、ブラウザで複数のタブを開くこともできます。

各タブで別の製品を評価できるようにするためのベスト プラクティスは何ですか?

  • 私が最初に考えたのは、製品 ID をセッションに入れることでした。すべてのタブが同じセッションを共有し、どのタブがアクティブであるかを知る方法がないため、悪い考えです (おそらく可能ですか?)。
  • 次に考えたのは、製品の ID を含む非表示フィールドをページに配置することでした。これは私が今のところ保持している解決策です。しかし、悪意のあるユーザーが firebug やその他のツールを使用して ID を変更する可能性があります。

だから私は疑問に思っていました、より良い方法はありますか?

4

2 に答える 2

0

同じ製品を複数回表示するのではなく、ユーザーに異なる製品を表示/評価するように強制したいということだと思います。

簡単に言えば、強制はサーバー側で行う必要があります。ユーザーがすでに ID を評価していることが判明した場合、他の評価要求はエラー メッセージを返す必要があります (おそらく 400 範囲の http ステータス)。

ID とセッションに気を配ることができますが、ユーザーはいつでもセッションの再生を行うことができます。繰り返しますが、非常に基本的なレベルでは、サーバー側のチェックが必要です。

これがないと、罪のないユーザーが誤って送信を 2 回押しただけで、同じ問題が発生することになります。複数のタブがあるという事実は、それとは何の関係もありません。

于 2013-05-15T08:33:05.753 に答える