4

私はしばらくの間、このトピックについていくつかの調査を試みており、次のスタック オーバーフロー スレッドも引用しています。

Javascript ハイジャック - いつ、どの程度心配すべきか

JSON セキュリティのベスト プラクティス

しかし、私の基本的な問題はこれです。

Web アプリケーションを構築するときは、Fiddler、Chrome 開発者ツール、Firebug などのツールを使用します。その場で変更してテストします。サーバーに送信されるデータを変更するためにフィドラーを使用しているように見えることさえあります。

他の誰かが私のウェブページを開いて同じことをするのを阻止するものは何ですか? ユーザーが F12 キーを押して Chrome 開発者ツールを開き、ネットワーク経由で送信されるデータを変更できる場合、世界中のすべての jQuery 検証は役に立ちませんよね?

私はこの分野ではまだ比較的新しいので、「オープン」プロトコルがますますユビキタスになるのを見ると、これは非常に心配です。私はまだ SSL を理解していません (調査を開始するリストに載っています)。おそらくそれが答えであり、十分に深く掘り下げていません。しかし、自分のページを操作する上での柔軟性のレベルは非常に高いように思えます。悪意のある人物が何をするのか非常に心配です。

4

6 に答える 6

9

あなたの懸念は確かに正当化されます。これが、サーバー上のすべてを常に検証する必要がある理由です。クライアント側の検証は、UXにのみ使用する必要があります。

于 2013-02-01T16:36:15.593 に答える
1

検証は常にサーバー側で行う必要があります。クライアント側の検証は、ユーザーにとってより便利なエクスペリエンスを実現するためにのみ価値があります。ユーザーが自分の側でデータを操作しないことを信頼することはできません。(JavascriptはClientSideです)

次に、user1のみがuser1のプロファイルを編集できるようにサービスを保護する場合は、OAuth(または同様のプロトコル)を使用してJSONリクエストに署名する必要があります。

于 2013-02-01T16:41:21.637 に答える
1

JavaScript のセキュリティは、一言で言えば、信頼できるサーバーに基づいています。サーバーが送信するコードを常に信頼している場合、それは安全なはずです。サードパーティ (広告サプライヤーなど) が、データが含まれているドメインからデータを取得することは不可能です。

サーバーがユーザー生成コンテンツ、特にユーザー生成コードも送信する場合は、セキュリティ上の問題が発生する可能性があります。これは、XSS 攻撃が焦点を当てているものです (信頼できる環境で悪意のあるスクリプトを実行する)。

クライアント側の検証では、使いやすさに重点を置き、間違いを簡単に修正できるようにするか、間違いがないようにユーザーをガイドする必要があります。サーバーは常に検証を行う必要がありますが、より厳密な性質の検証です。

于 2013-02-01T16:37:42.207 に答える
0

ええ、ブラウザからサーバーに送信されているデータをだれもが妨害するのを防ぐことはできません。そのため
、ユーザーからのデータの信頼性と妥当性を常にチェックすることを信頼してはいけません

。グーグルやマイクロソフトのような大きなサイトが送り返すデータとあなたはアイデアを得るかもしれません。

于 2013-02-01T16:36:46.903 に答える
0

クライアントが悪意のあるものであると想定する必要があります。SSL を使用しても、これはまったく防げません。すべてのデータ検証と認証チェックは、サーバー側で行う必要があります。

于 2013-02-01T16:38:22.447 に答える
0

Javascript は、ハッカーに対する唯一の防衛線にはなりません。実際、Javascript をセキュリティのために使用するべきではありません。クライアント側のコードを使用してフォーム入力を検証できるため、ページを使用しようとするユーザーの応答時間が短縮され、ページが適切に実行されます。あなたのページをハッキングしようとしている人は、あなたのページが機能するかどうか気にしません。何があっても、サーバーに入ってくるものはすべて検証されるべきであり、決して安全であると想定されるべきではありません.

于 2013-02-01T16:42:39.360 に答える