0

ユーザーが inspect 要素を使用して ('+res.id+') および ('+res.level') を変更できるようにしたくありません。変更すると送信ボタンの結果が変わるからです。

たとえば、「+res.id+」は = 2 であり、2 は火竜に等しいが、人が検査要素を使用する場合、その 2 を 1 に変更し、1 は雷竜に等しい。その後、戦闘をクリックすると、ファイアドラゴンがライトニングドラゴンに変更されました。基本的に、彼らは誰とでも/何でも好きなように戦うことができます。

とにかく、人々がこれらの変数を変更できないようにする方法はありますか、または変数が変更されたかどうかを確認して、ユーザーにエラーメッセージを送信できますか?

                html += '<form name="input" action="ingame.php?page=attack/travel/startbattle" enctype="multipart/form-data" method="post">';
                html += '<input type="hidden" id="goid" name="goid" value="'+res.id+'">';
                html += '<input type="hidden" id="level" name="level" value="'+res.level+'">';
                html += '    <input type="submit" value="Battle!" class="button"/>';
                html += '</form>';
4

2 に答える 2

0

ユーザーが好きなパラメーターをフォーム エンドポイントに送信するのを止めることはできません。フォームの値が変更されるのをどうにかして止めることができたとしても、誰かがcurlなどを使用してカスタムのリクエストをサーバーに送信する可能性があります。

入力値のサーバー側検証が必要です。フォームが送信されたときに取得できる中間オブジェクトを保存する必要がある場合は、それらの値を隠しフィールドとして持ち歩く必要はありません。

于 2014-05-12T22:37:26.210 に答える