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

マングースでのユーザー入力のサニタイズ

    mongo-sanitize のようです npmモジュールは、生のエスケープ機能を開始する場所です。正直なところ、これは接続/エクスプレスミドルウェアレイヤーでより適切に聞こえます。マングースレイヤーでは、設計上、コードは、アプリケーション開発者によって作成されたかどうかに関して、クエリ/更新パラメーターに期待をかけないためです(この場合、サニタイズしないでください。サニタイズしないと正しく機能しません)、またはユーザー入力を伴う(サニタイズする必要があります)。したがって、ユーザー入力が入力される最も一般的な場所をサニタイズするミドルウェア関数をお勧めします:req.bodyreq.query 、およびreq.params 。たとえば、(スケッチ)のようなことをするかもしれません:

    var json = require("body-parser").json;
    var sanitize = require("mongo-sanitize");
    
    function cleanBody(req, res, next) {
      req.body = sanitize(req.body);
      next();
    }
    
    function updateUser(req, res) {
      //...
      // safe to build an update query involving req.body here
    }
    app.put("/api/users", json(), cleanBody, updateUser);
    


    1. Pythonを使用してmongodbからカーソルの長さを取得するにはどうすればよいですか?

    2. MongoDBで更新されたドキュメントを取得します

    3. mongodbカウントサブドキュメントとリストの合計

    4. mongoDB configを使用してlogstashを開始できませんか?