2

クイズデータ(回答を含む)を保持するjsonオブジェクトをコードビハインドからjavascriptに送信しようとしています。私は使用しました...

var quizJson = <%=jsonObj%> 

しかし問題は、私のユーザーはソースの表示を使用して答えを明らかにするのに十分賢いということです。なにか提案を?

前もって感謝します

4

4 に答える 4

6

唯一の正しい解決策は、いかなる形式でもブラウザに回答を送信しないことです。ブラウザは、ユーザーが入力した回答をサーバーに送り返す必要があります。次に、サーバー側のコードを使用して、答えが正しいかどうかを判断します。

于 2012-05-01T02:47:26.867 に答える
4

ユーザーが回答を選択したときにAJAX呼び出しを実行します。このように、検証は外部で行われ、ユーザーはソースを表示して回答を見つけることができなくなります。

于 2012-05-01T02:46:28.240 に答える
2

クライアント側のスクリプトで使用するためにクライアントに送信するものはすべて、どのクライアントでも読み取ることができます。ソース内の回答がどういうわけかわかりにくい場合でも、デバッガーを起動して、「デコード」すると実際の回答を確認できます。これは多くの古典的なゲームハックのようで、人々は壁を無効にして、壁の向こうに何があるかを確認します。クライアントに送信するものはすべて脆弱です!

回答を保護する唯一の方法は、回答をサーバー上に保持することです。試行された回答をサーバーに投稿し、そこで採点して結果をクライアントに返します。

于 2012-05-01T02:49:37.617 に答える
1

ユーザーからテキストを非表示にするには、単純な暗号化(このような)を使用します。データが重要でない場合、それは平均的な検査を追い払うでしょう。

ただし、答えを非表示にしておくことが重要な場合は、非表示にしてください...そしてクライアント側から離れてください。

于 2012-05-01T02:57:46.533 に答える