1

CouchDB などの標準の NoSQL ドキュメント ストアと組み合わせた単純なノード JS バックエンドがあるとします。私たちのデータベースはスキーマのない単なるドキュメント キー ストアであるため、何でも挿入できます。また、サーバーも JSON で構築されているため、最終的には、JSON ペイロードを使用してクライアントから送信される POST 要求は、最終的にデータ ストアに直接格納されます。

もちろん、これは非常に便利で、軽量なアプリケーションになります。ただし、考えられるすべての挿入エンドポイントのコードを記述して、各 POST または PUT リクエストが適切な形式であることを確認すること以外に、攻撃者が開発者コンソールを起動して POST/PUT リクエストを偽装するのを防ぐ方法はあるのでしょうか?彼らが望むあらゆる種類のジャンクデータを私たちのデータストアに挿入できるようにしますか? この方法でアプリケーションのデータを破壊することはそれほど難しくありません。

明らかに、トークンベースの認証は、認証されたユーザーのみがこれらのサービス エンドポイントにアクセスできることを保証できますが、有効な要求と同じ HTTP ヘッダーを使用してこれらの要求をスプーフィングすることを防ぐことはできません。これは、今日のブラウザー開発者ツールを使用すると非常に簡単です。

Java のような従来のサーバー言語では、JSON の PUT と POST は高度に構造化されたクラスベースのオブジェクトにマーシャリングされます。ペイロードがこれらの形式と一致しないリクエストは、HTTP エラーで拒否されます。

このようなリクエストがいくつかの基本的な構造基準を満たすことを保証するノードのツールまたはパラダイムを知っている人はいますか?

4

0 に答える 0