bugfix> javascript > 投稿

非常に機密情報であるすべてのajaxコールで特定のヘッダーパラメータを送信する必要があります。ブラウザーのネットワークタブで行われたリクエストをエンドユーザーから見たくありません。それを防ぐ方法はありますか?または、ブラウザを経由しないノードサーバーから直接ajax呼び出しを行うことは可能ですか?

回答 3 件
  • クライアント側で行われた呼び出しは、Webサイトの「クライアント」側であるため、非表示にすることはできません。ブラウザで非表示にすることに成功したとしても、どのソフトウェアでも、ネットワークスニファー/モニターなどのツール、たとえばWireSharkで監視できます。

    だから答えはノーです

  • レストランに行って何かを注文すると、ウェイターは最後の指示/注文を忘れさせることができますか?答えは、この質問に対する答えと同じです。

    すべては、クライアントがサーバーにリクエストを送信することから始まります。したがって、クライアントは対話全体の原動力です。サーバーはクライアントからの指示どおりに機能します(監査、データベースの更新、Cookieの追加など、悪意を持って独自に余分な作業を行います)。

    したがって、「サーバー」がクライアントが自身の指示を表示することを制限する方法はありません。

    単にヘッダーを介して機密情報を直接送信しないでください。クライアント側のコードを介して暗号化し、Cookieまたはその他のHTTPヘッダー内に追加します。

    インターネットからの引用:

    Client/server architecture is a producer/consumer computing architecture where the server acts as the producer and the client as a consumer. The server houses and provides high-end, computing-intensive services to the client on demand. These services can include application access, storage, file sharing, printer access and/or direct access to the server’s raw computing power.

    Client/server architecture works when the client computer sends a resource or process request to the server over the network connection, which is then processed and delivered to the client. A server computer can manage several clients simultaneously, whereas one client can be connected to several servers at a time, each providing a different set of services. In its simplest form, the internet is also based on client/server architecture where web servers serve many simultaneous users with website data.

  • クライアントに信頼しないでください。今まで。決して。クラックされたと仮定しても何でも構いません。ハッカーはすべてのツールを持ち、クライアントとそこで実行されるすべてのソフトウェアを完全に制御します。独自のネットワークスタック、独自のTLS実装、独自のブラウザ、独自のオペレーティングシステムを作成したと仮定します。

    セキュリティで保護する必要がある場合は、サーバーに保管してください。 「特権のある」情報を通信する必要がある場合(クライアントに送信したらアクセスできることを忘れないでください)、サーバーでトークン化してトークンを送信してください。また、トークンを生成する場合は、それらが非常にランダムで完全に不透明であることを確認してください-使用しているライブラリがどれだけ安全であると思うかに関係なく、トークンも暗号化できないと仮定する必要があるため、トークンを暗号化しないいつかクラックされるでしょう)。

あなたの答え