1

これはまだ直接尋ねられていない質問です..
私は、年間数百万の Web 顧客にサービスを提供する会社のために開発しています。私たちの Web アプリケーションの多くは何年も前に (そして悪い習慣で) 書かれており、ページが機能するために完全に Java スクリプトに依存しており、最も顕著なのは Web フォームの検証です。

最近、JavaScript を使用していないユーザーをエラー ページにリダイレクトする noscript タグを実装しています。
ユーザーの 99% が現在 JavaScript 対応のブラウザーを使用していることを考えると、noscript を使用する代わりにサーバーの検証をクライアントの検証と一緒に行うべき理由を誰にも納得させるのに苦労しています。

さらに、開始タグと終了タグの追加とリダイレクトは 5 秒で開発できますが、サーバーの検証にはより多くの時間と費用が必要です。
あなたの考えは何ですか??
スクリプトを有効にする必要がある 1% のユーザー以外にスクリプトがない場合、サーバー検証の真の利点は何でしょうか?

4

5 に答える 5

3

常にサーバー側の検証を行う必要があります。限目。質問なし。検証をクライアントに依存するべきではありません。ボットまたはその他の何かが、JavaScript とnoscriptタグの両方をバイパスして POST を作成するとします。サーバー側の検証がないことの 1 つは、SQL インジェクション攻撃も可能にすることです。

于 2011-05-25T14:25:48.903 に答える
1

メモ/提案:

  • noscriptページにアクセスした人の数をログに記録します。このデータを使用すると、サーバー側の検証が不足しているために得られなかった収益の潜在的な価値を提供できます。ボスは通常、お金の言語に堪能です。
  • 潜在的なSQLインジェクションやその他のセキュリティ問題も非常に問題があります。値を検証しなくても、少なくともフォームから値を削除する必要があります。
  • データの完全性が損なわれる可能性があります。スクリプトが失敗することがありますが、noscriptチェックに合格します。サーバー側の検証がないと、データは本来あるべきものであるという保証が少なくなります。
  • JavaScriptをサポートしていないことは、これほど単純なことには良くないように見えます。正直なところ、評判のリスクです。
于 2011-05-25T14:32:05.147 に答える
1

サーバー検証は、クライアント側で無効にしたりバイパスしたりすることはできませんが、クライアント側の検証は可能です。

これはあなたにとって問題ですか?保護されていないコンピューターで公開されている場合、それが問題にならないことに驚いています。JavaScript の検証のみに依存している場合、悪意のある誰かがこれをバイパスすると (これは簡単に実行できます)、次の原因になります。

  • セキュリティリスク
  • データの完全性のリスク
  • レピュテーションリスク
  • 財務リスク

あなたのクライアントに。

もしそうなら、誰かがあなたのサイトを攻撃する前に、できるだけ早くサーバー側の検証が必要です.

于 2011-05-25T14:27:43.010 に答える
0

Firebug などのツールを使用して Javascript 検証をバイパスするのに、PRO である必要はありません。サーバー側の検証を追加しないと、データの整合性が危険にさらされ、会社だけでなくクライアントにも問題が発生する可能性があります. あなたの会社の評判はここで危機に瀕しています (攻撃が発生した場合、「サーバー側の検証がありませんでした」などの理由/回答をクライアントに提供することは、控えめに言っても恥ずかしいことです。サーバー側の検証)。

于 2011-05-25T14:58:14.923 に答える
0

誰かが意図的にあなたのシステム/ウェブサイトを破壊し、JavaScriptを無効にして、いくつかのスクリプトとSQLインジェクションを入力しようとした場合. サーバー側の検証によってのみ、ブロックできます。私の理解によれば、それは非常に必要です

于 2011-05-25T14:28:16.957 に答える