誰かがinput
Firebug で JavaScript を使用して非表示の要素を変更しているかどうかを確認できますが、その考えはばかげているように思えます。
重要な検証はすべてサーバー側で行う必要があります。
クライアントが送信するものが正確であることに依存することはできません。誰かが本当に「自分のものをいじりたい」と思った場合、(たとえば) 簡単に Python スクリプトを記述して、サーバーにデータを送信することができます。
これは、私のコメントでほのめかしていたもののjQueryベースのサンプルです。
ライブデモ #2
- [送信] をクリックします。背景が緑色に変わります - 何も変更されていません。
- hidden の値を変更し
input
、[送信] をクリックします。背景が赤くなります - 何かが変更されました。
HTML:
<form id="myForm" method="post" action="">
<input type="hidden" value="123" />
<input type="hidden" value="456" />
<input type="submit" />
</form>
JS #2:
$('#myForm input[type="hidden"]').each(function() {
$(this).data('originalValue', $(this).val());
});
$('#myForm').submit(function(){
$(this).find('input[type="hidden"]').each(function() {
if ($(this).val() != $(this).data('originalValue')) {
$('body').css('background', 'red');
return false;
}
//just for testing:
$('body').css('background', 'green');
});
return false;
});