サポートされているドライバーの1つを使用してください。文字列をJSONとして逆シリアル化して、クエリとして渡さないでください。これをしないでください(Rubyで):
collection.send(query_type, JSON.parse(parameters))
ここで、query_type およびparameters フォームからの文字列です。ただし、これを行うには、犯罪的に愚かである必要があります。
クエリ言語自体がないため、同じ注入の余地はありません。 SQLインジェクション攻撃が可能である理由の一部は、実行するアクション(SELECT 、UPDATE 、DELETE など)はクエリ文字列の一部です。 MongoDBや他の多くの新しいデータベースは、そのようには機能しません。代わりに、アクションはAPIの一部です。 SQLドライバにqueryしかない場合 場合によってはexec 、MongoDBにはfindがあります 、update 、insert およびremove 。