2012-04-10 12 views
1

クライアント側(JavaScriptを使用)またはサーバー側(C#asp.netの検証コントロールを使用)のどちらの検証が優先されますか?ASP .NETでの有効な検証

答えて

4

常にがサーバーで検証されている必要があります。クライアント側の検証は、ユーザーエクスペリエンスを向上させる上では問題ありませんが、クライアント側からのものは潜在的に汚れているため、サーバー側のコードは悪意のあるユーザーの操作に脆弱ではないため、再度検証する必要があります(少なくとも、クライアント側のコードと同じ方法で)。

最終的にサーバーで検証してください!

+0

ありがとうel-ronnoco –

+0

いいえprobs :)しかし**は常にサーバー上で検証します。笑 –

+0

:-)確かにします –

1

両方。

サーバーへの無効なポストバックを防止するために、JavaScriptは重要です。

クライアントがブラウザからJavaScriptを無効にした場合、サーバー側は重要です。JavaScript有効化バイパスよりも です。

また、データベースレベルでの検証もお勧めします。信頼性のために。

+0

ありがとうshoaib-muhammad-khan n curt –

1

両方とも良好です。サーバ側での検証は必須です。クライアントはjavascriptのブラウザで無効になっているかもしれませんが、データが

  • 可能性がJavaScriptをオフに持っている可能性があり

    • エンドユーザー

      を理由あなたは、クライアント側の検証に頼るべきではありません あなたのサイトを使用していても、それを行うように設計されたカスタムアプリで をサーバーに直接送信する

    • あなたのページ上でJavascriptエラーが発生しました はあなたの検証が
  • +0

    ありがとうhabib-osu –

    1

    を実行しているのは、すべてのいくつかの結果が、できなかった(物事の任意の数によって引き起こされる)は、サーバー側での検証を行う必要があるだけでなく、クライアントside.Client側の検証は、アプリケーションの双方向性を高めます。つまり、アプリケーションのユーザーフレンドリ性を高めることができます。ただし、クライアント側の検証には欠点があるかもしれませんが、ユーザーがjavascriptを無効にすると、非センスのデータ値を入力してサーバーに送信できます。その目的は、サーバー側の検証を実行する必要があります。サーバー側の検証コントロールは入力をフィルタリングし、適切なデータが入力されていることを確認します。適切な検証コントロールAsp.Netが提供します。 双方向性と保護の両方のために、クライアント側とサーバー側の両方の検証を使用することをお勧めします。 ありがとう

    0

    フィールドの空き、有効な電子メール、番号、文字列または日付などの基本的な検証はクライアント側で行う必要がありますが、サーバーではクロスサイトスクリプティングのような潜在的なハッキングタグ(例えばphpタグ)を使用し、より安全なものには常にストアドプロシージャを使用し、空の文字列やその他の危険な文字で "" "" "または" < "を置き換える関数を必ず用意してください。

    関連する問題