2012-04-10 9 views
1

可能性の重複:
JavaScript: client-side vs. server-side validationクライアントサイドのJavaScript/jQueryフォームの検証は役に立たないですか?

のJavaScript/jQueryのクライアント側のフォーム検証スクリプトの多くはそこにあります。しかし、それがクライアント側であることを考慮すると、検証をバイパスし、検証ルールを無視する値を持つフォームを送信するのはかなり簡単です。唯一の解決策は、自分自身を保護するためにサーバー側の検証も実装することです。

クライアント側のjQueryの検証は面白く面白そうですが、すでにサーバー側の検証を実装する必要がある場合は、クライアント側の検証のポイントは何ですか?それは不必要に冗長であり、開発時間を無駄にしているようです。役に立たないですか?

また、サーバー側の検証を必要としないクライアント側の検証を実装する方法はありますか?

+4

**引用OP **:_ "クライアントサイドのjQueryの検証は楽しく、滑らかに見えますが、すでにサーバー側の検証を実装する必要がある場合、クライアント側の検証のポイントは何ですか?それは楽しいと滑らかに見えるので** – Sparky

+4

あなたのユーザーはより良い経験を持っています。 –

+0

http://stackoverflow.com/a/162579/29995 –

答えて

6

クライアント側の検証は、常にバイパスすることができます。これを回避する方法はありません。機密性の高い情報を扱うとき、バックエンドの検証を行うときは、常にバックエンドの検証を行う必要があります。

より速いため、クライアント側の検証が行われます。私の電子メールアドレスが正しく書式設定されていないことをすぐに知っています。フォームを送信した後、サーバーがそれをチェックアウトして何かを送り返しました。

2

優れたユーザーエクスペリエンスを提供します。それがポイントです。毎回フォームを送信してサーバーの応答を待つ代わりに、ユーザーはフォームの値を変更した直後に検証の結果を見ることができます。

3

1語:使いやすさ。あなたはハッカーに対する防御のためにあなたにウェブアプリを書くべきではありません。簡単で使いやすい直感的なソフトウェアを求めている多くの正規ユーザーがいます。

0

常にサーバー側の検証が必要です。クライアントからのデータは絶対信用しないでください。クライアント側の検証は、より良いユーザーエクスペリエンスのために行われます。ユーザーにサイトを使用させたい場合、ユーザーエクスペリエンスは非常に重要です。

0

クライアント側検証の背後にあるアイデアは、システムが「フェイル・ファースト」であるということです。正直なユーザーが間違いを犯した場合は、すぐにユーザーに伝えられます(待ち時間が少ない)とサーバーの負荷が軽くなります。

セキュリティが存在するにはサーバー側の検証が常に必要です。セキュアなクライアント側検証のシステムは、ユーザーが何らかの形で自分のマシンを制御していないと仮定しなければなりません。

関連する問題