0

クライアント側とサーバー側の両方の検証が必要なのはなぜですか?セキュリティ上の理由から両方が必要であることを読みました。したがって、クライアント側の検証をバイパスできる場合は、サーバー側のみを使用しないのはなぜですか。クライアント側を使用する用途は何ですか。

4

6 に答える 6

1

すべての検証に対してポストバックを行うのは良い習慣ではないため、必須のフィールドを検証するためにクライアント側の検証を配置する必要があるため、クライアント側の検証も配置する必要があります

サーバー側の検証については、ブラウザのJavaScriptが無効になっている場合に備えて、クライアント側で完全に検証することはできません。サーバー側で検証することをお勧めします。

于 2012-10-01T05:58:03.573 に答える
1

クライアント側のレンダリングでは、最初のリクエストでページレイアウト、CSS、JavaScriptが読み込まれます。一部またはすべてのコンテンツが含まれていないことを除いて、すべて一般的です。代わりに、JavaScriptは別のリクエストを作成し、応答を取得し(JSONである可能性が高い)、適切なHTMLを生成します(テンプレートライブラリを使用する可能性があります)。その後のページの更新では、クライアント側のレンダリングアプローチは、取得に使用した手順を繰り返します。初期コンテンツ。つまり、JavaScriptを使用してJSONデータを取得し、テンプレートを使用してHTMLを作成します。

サーバーサイドレンダリングを使用した更新は、多くの開発者がディープエンドから離れ始めるところです。彼らは実際にページの更新を考えています

于 2012-10-01T05:59:44.790 に答える
1

クライアント側の検証は、ユーザーがすべてのエラーメッセージを含む完全なポストバックなしでエラーを修正するのに役立ちます。それは効率を高めますが、それは単に便利であり、明らかにバイパスすることができます。

于 2012-10-01T05:55:41.547 に答える
1

インターネット接続が遅い/制限されている/制限されているユーザーは、サーバーへの不要な要求を回避することが重要です(たとえば、無効なデータを含むフォームを送信する要求は、最終的にサーバーによって拒否されます)。応答を待つ時間は、ユーザーがWebページを離れて、友人や親戚、さらには誰にでもWebサイトについて悪口を言う理由になる可能性があります。

私たちは常にすべてのユーザーを幸せにしたいのですが、そうではありません(ユーザーが敵だと感じることもありますが)

于 2012-10-01T06:03:26.427 に答える
1

クライアント側とサーバー側の両方が多くの理由で必要です。私はそれが必要な理由を説明するいくつかのポイントを書いています

  • 検証からWebブラウザからWebサーバーに送信されるリクエストごとに。したがって、検証するすべてのコントロールをチェックするためのサーバーへの不要なオーバーヘッドです。同じリクエストをサーバーに送信する100,000人を想定します。すべての要求と応答には、実際には不要な時間(ナノ秒単位の場合があります)がかかります。したがって、クライアント側の検証を使用することをお勧めします。
  • セキュリティ上の理由から、サーバー側の検証を使用する必要があります。プログラマーとして、私たちのアプリケーションに来る悪いデータを止める責任があります。ブラウザで、誰かが意図的に、または無意識のうちにJavaScriptを無効にして、データを挿入しようとしたとします。サーバー側の検証が存在しない場合、アプリケーションに不正なデータが届く可能性があります。データは間違った情報であるか、自己実行プログラムである可能性があり、これもアプリケーションにとって非常に有害です。

したがって、より優れた標準アプリケーションを実現するには、クライアント側とサーバー側の両方の検証を使用することをお勧めします。

于 2018-04-08T15:30:15.387 に答える
0

クライアント側は必要ありませんが、ポストバックが必要ない場合は、ユーザーにとってはるかに便利です。UXを気にしない場合は、すべてのバリデーターをサーバー側のみにすることができ、データと操作が保護されます。

于 2012-10-01T05:55:09.320 に答える