sql >> データベース >  >> NoSQL >> MongoDB

mongoDBインジェクション

    サポートされているドライバーの1つを使用してください。文字列をJSONとして逆シリアル化して、クエリとして渡さないでください。これをしないでください(Rubyで):

    collection.send(query_type, JSON.parse(parameters))
    

    ここで、query_type およびparameters フォームからの文字列です。ただし、これを行うには、犯罪的に愚かである必要があります。

    クエリ言語自体がないため、同じ注入の余地はありません。 SQLインジェクション攻撃が可能である理由の一部は、実行するアクション(SELECTUPDATEDELETE など)はクエリ文字列の一部です。 MongoDBや他の多くの新しいデータベースは、そのようには機能しません。代わりに、アクションはAPIの一部です。 SQLドライバにqueryしかない場合 場合によってはexec 、MongoDBにはfindがあります 、updateinsert およびremove



    1. mongo-templateを使用してデータをグループ化する方法

    2. Mongoプロジェクションクエリの結果は、シェルとnodejsアプリケーションでのテストとは異なります

    3. MongoDBで$setと$unsetを空のドキュメントで使用できなくなったのはなぜですか?

    4. ターンベースのマルチプレイヤーiPhoneボードゲーム用にDB&APIサーバーをどのように設計する必要がありますか? (nodejs、mongo、couchなどについて考えます)