0

これは基本的に私のフォームです:

<form method="post" action="" onsubmit="checkallfields(); event.preventDefault();">
  <!-- My Stuff -->
</form>

そして、それは私のページの最初のフォームです。クライアント側のフィールド検証がありますが、これは明らかに function に格納されていますcheckallfields()。しかし、問題は、ユーザーが非常にいたずらになり、コンソールを開いて と入力してdocument.forms[0].submit()も、フォームが送信されることです。

これを防ぐにはどうすればよいですか?

4

3 に答える 3

2

防ぐことはできません。そのため、サーバー側の検証を行う必要があり、常にサーバー側の検証を行う必要があります。クライアント側は信頼できず、あなたの Web ページをサーバーに送信する必要さえありません。

于 2012-11-11T00:47:28.117 に答える
0

私はその問題について考え、私なりの答えを得ました。Google Chrome でテストしました。

var i = document.forms.length;
while (i--) {
  document.forms[i].submit = function () {
    return false;
  }
}

皆さんにとってはうまくいきますか?ここで確認できます:http://jsfiddle.net/think123/ZRuYw/

于 2013-02-17T22:02:33.187 に答える