{"_id":"content-filter","_rev":"50-116247349dbf74f625358bbc1b203feb","name":"content-filter","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.6":{"name":"content-filter","version":"1.0.6","keywords":["mongodb","content-filter","sanitize","query","selector","injection","hash-injection","filetring"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.6","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"b6a7d441b31969dc64a27d0ba46ee5e99a6c8ba9","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.6.tgz","integrity":"sha512-TzlJGIqEHShKqVYP+5tGfhcW7aGvqnkAalbyDQLnxR/5p0UZKYpbAtXOKm7q63wWplKav6AQmACVoFMYtpV4ZA==","signatures":[{"sig":"MEUCIET0/pCJKrfxjqIAwj/FU8oGHCEP4Yb+a11qZ+ic/vrzAiEA98YDj8hwvC22Qhe0yHoUB7R5hBntWHgEWW/Onl60MWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"b6a7d441b31969dc64a27d0ba46ee5e99a6c8ba9","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"Filters content of a given HTML request. In this way helps to protect NoSQL databases from hash-injection","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.7":{"name":"content-filter","version":"1.0.7","keywords":["mongodb","content-filter","sanitize","query","selector","injection","hash-injection","filetring"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.7","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"b41462238e959cdf6581363193096b95d03f4a76","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.7.tgz","integrity":"sha512-utnd/cjbhHBxCpRXv79sWdUYuWf5lId0RlR0JaZXoV9PjUXmA2KGBTQLdv94/HZwRf9oa4bKk0b6aR6oGXnzdQ==","signatures":[{"sig":"MEUCIB7qkJ45jl/MdJLqw4FIW3oC0SvVAQcs/6S+iNPqNi/DAiEA0SyXWmokLABVv5vrJZJbkUl67p4DCJqgZNQ/vuptIWg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"b41462238e959cdf6581363193096b95d03f4a76","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"Filters content of a given HTML request. In this way helps to protect NoSQL databases from hash-injection","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.8":{"name":"content-filter","version":"1.0.8","keywords":["mongodb","content-filter","sanitize","query","selector","injection","hash-injection","filetring"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.8","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"c1f8e7b08cf2651f2cc1e4ec6986c73544656b28","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.8.tgz","integrity":"sha512-TWaLpZ08wIDbLZFjc2GRmffmLuq98fdckmYC7mJif8KCvUl9Lr77KllzEgvGoTzNAy0A834Nc38y+BHPDhRR6A==","signatures":[{"sig":"MEQCIE3MsASoaJjx8NdHXOme5mq+efRPODgrMQvoncG2kLGjAiBHQEuhJbDBN19WeYyHUKjiWLQIjlmVs9Ps93LWzQ+rZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"c1f8e7b08cf2651f2cc1e4ec6986c73544656b28","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"Filters content of a given HTML request. In this way helps to protect NoSQL databases from hash-injection","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.9":{"name":"content-filter","version":"1.0.9","keywords":["mongodb","content-filter","sanitize","query","selector","injection","hash-injection","filetring"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.9","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"2918ab93c0a64d5dfb9593095a0a919a3d34751a","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.9.tgz","integrity":"sha512-Ln0EzY2cj7ySI5XS8oopRhh7X0BPgeNocSADzNakMo1T6E+DD8bDrDnan3h/M9ro5a0qECy0ZuTiF89s5yhhZA==","signatures":[{"sig":"MEQCIFFEvtyL6cXFVDivpUEcg47bciaJ3DoPaaJwrh4a0tnqAiAgmuve6DmUlMT8zp6hbtnleGb3qkLZcjSQAcyOvMTNEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"2918ab93c0a64d5dfb9593095a0a919a3d34751a","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"Filters content of a given HTML request. In this way helps to protect NoSQL databases from hash-injection","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.10":{"name":"content-filter","version":"1.0.10","keywords":["mongodb","content-filter","sanitize","query","selector","injection","hash-injection","filetring"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.10","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"e9450a573d91b87904e12a074949376f8a223cd4","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.10.tgz","integrity":"sha512-3Z8SKwH4cHb/TzMPb9kUAlxDK51nef92pEh3pS8nP74PWQom2pgJcYC+4inUIVwdvxm4aQqTuZrYkX2ceNtEIA==","signatures":[{"sig":"MEUCIFu6A0J5axhDub8CIYkhY5eAyBgAECou5ejsnCg0cqX3AiEAx40yJw1a8GOsUiM6HV4iiH/9Z+CQgiMfb7Hl+xqPoXQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"e9450a573d91b87904e12a074949376f8a223cd4","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"Filters content of a given HTML request. In this way helps to protect NoSQL databases from hash-injection","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.11":{"name":"content-filter","version":"1.0.11","keywords":["mongodb","content-filter","sanitize","query","selector","injection","hash-injection","filetring"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.11","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"276d2c334e1d3c6de9271bd91916af127095fdb8","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.11.tgz","integrity":"sha512-PD/QBvTzCWkXLdzKFohgOTKXyA8cIBhSQPGY6mFIhtMb2+9jIECpz/vPXi8ihvK9KoGXlDa3SkGk4yz0tIhb7g==","signatures":[{"sig":"MEUCIQDtCWH/YZib/2EBG3ii2ogpAkjUegCdP/oEXVKnx/jusgIgKo3wkePLhboG4th9tZYUFLaF2RD3/1P0NlbhIQ+vbZY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"276d2c334e1d3c6de9271bd91916af127095fdb8","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"<span><a href='https://travis-ci.org/efkan/content-filter'><img src='https://travis-ci.org/efkan/content-filter.svg?branch=master' class=badge></a></span><br>Filters content of a given HTML request. In this way helps to protect NoSQL databases from hash-i","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.12":{"name":"content-filter","version":"1.0.12","keywords":["mongodb","mongodb security","mongo security","nosql security","content-filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.12","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"ec3784aa860c16a72b0305bdafbf7b9c3440b5fe","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.12.tgz","integrity":"sha512-c41mdHRQ5K4a/sLhEkll4z0l0fYQf2xvixLlTSgpH2bVxFspEG9fy9sN5FVCZK5OREBPi7fdpS4uKRU5Vow+qA==","signatures":[{"sig":"MEQCH0XeL3IsjInjGL9ofxClSMKpX4rSzfZqNPQqAzeDrrUCIQDTeV4zMsLbc84YVjaTqxA6CXTZW0FUX5+BFVLnNFwlZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ec3784aa860c16a72b0305bdafbf7b9c3440b5fe","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"<span><a href='https://travis-ci.org/efkan/content-filter'><img src='https://travis-ci.org/efkan/content-filter.svg?branch=master' class=badge></a></span><br>Helps to protect NoSQL databases from hash-injection by filtering HTML content.","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.13":{"name":"content-filter","version":"1.0.13","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.13","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"7658dcc2dbd1489eb7a036affd3a82e75c070aa8","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.13.tgz","integrity":"sha512-DwyxFLTLpA3OyioAi9tQ8s2OG9mNBAruSkuKdVM3GDc4iw40tdVY3AX4mPRsVpab8LtgXnpEKpvz7QMTyoFpaA==","signatures":[{"sig":"MEYCIQD0c67GMw8F0MyDuWXU7NrFQylVxulacvTK7PqgAytzUAIhAO/8Dy4D3Z08WExf64TH7O+bYO8vhOXjtp53nxHIvbHv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"7658dcc2dbd1489eb7a036affd3a82e75c070aa8","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Filters coming HTML content for any character, character set or word. And in this way, protects NoSQL databases from hash-injection attempts.","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.14":{"name":"content-filter","version":"1.0.14","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.14","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"9c0e7a774c57c4547a23d1beb6bdc3ad1a0a4959","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.14.tgz","integrity":"sha512-yQD2BdWPOC/vIgCA7kh+rvr56kFi/nQu6mnL8cxrp2mIfWmQCvgvPIiqU+5wIcK/doD1tG6jOtgD0kBnFZUW3g==","signatures":[{"sig":"MEYCIQDn8qg5cU9vqf8hloiqe88jZGQ/J2OgOVQTNj5eOMTlBwIhALtyKU3G3sEHR3f3nASvFXSo2WFhPk3WA0q16u6xo/hm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"9c0e7a774c57c4547a23d1beb6bdc3ad1a0a4959","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Filters coming HTML content for any character, character set or word. And in this way, protects NoSQL databases from hash-injection attempts.","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.15":{"name":"content-filter","version":"1.0.15","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.15","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"af8a04134f59e9d3bed098776119be474c7bfdcc","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.15.tgz","integrity":"sha512-/+QIrs6R/azedEKAOLxfzb6Q+byKHT6WTOCLu8oT0zcFjrPMxoe/AOeEPKZ+2+BSrYo8LveC+HOAc3M6E+HG8Q==","signatures":[{"sig":"MEQCIFmHpWbTnlWe5PMwZ7Eic87jnMp/SK3MAWk3W5SB1dCpAiAfclGoPf/kqBa7qmbK3eGdd78Hx/6EyEhexzQTu9xqpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"af8a04134f59e9d3bed098776119be474c7bfdcc","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Filters coming HTML content for any character, character set or word. And in this way, protects NoSQL databases from hash-injection attempts.","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.16":{"name":"content-filter","version":"1.0.16","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.16","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"060be9f2c5f225aa701d6f39882b019ad2c4b7fc","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.16.tgz","integrity":"sha512-q1Gshn4NzDEstESl9/TEUV2JfX8v0Oyd2/ESDNOziM49Bf1yPxYGhegU3RjYG7aS/dPt6k8rGLXWvkKf6hqcmg==","signatures":[{"sig":"MEYCIQD00pvZ5IqM12fH/mk65EOPKyQrHhUacjWL7ocCELxWZgIhANFxnOAJJss30De/wu2+5jhPhkt8g1N8EbjAlBZi7wcN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"060be9f2c5f225aa701d6f39882b019ad2c4b7fc","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Filters coming HTML content for any character, character set or word. And in this way, `content-filter` provides protection against NoSQL (like MongoDB) injection attacks on Node.js ","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.17":{"name":"content-filter","version":"1.0.17","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.17","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"24480e31426ed66ba937b93d88286adea1c52ac4","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.17.tgz","integrity":"sha512-tfYOjGkj7/3dw7n4gX6UwpX5gHd/+oiKFKRDyWn151u4i1H2sSTN3hnFHWcIm22217HL0FcXQoJYr+lUJOp9cg==","signatures":[{"sig":"MEYCIQDCzp4KFpq3eCw9ehxo3ZxW5EzLGY/TYMIesf6aD041wQIhAOgH9VL0/o6zDfyJ77Up4vdiGZRLk3l1NXzAElFA9kkS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"24480e31426ed66ba937b93d88286adea1c52ac4","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Filters coming HTML content for any character, character set or word. And in this way, `content-filter` provides protection against NoSQL (like MongoDB) injection attacks on Node.js ","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.18":{"name":"content-filter","version":"1.0.18","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.18","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"3b5b90a2ade6cbd3ca6dbd5735dfb140efb33cbb","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.18.tgz","integrity":"sha512-h2BICP+ZKpkL/PPEvbfJORjEUKBG9Zjq3eY9qP0kMAtRyXCR5SMwV7I/0Eh07JS+tSOo3OwexSGaec7jqAlOvw==","signatures":[{"sig":"MEQCIC3ayGvTd4LSwFRFbCw/hBMiQPeVOfVjShba2Rb3Mvo5AiAQRC91iLLs5h/t3hnXLqVz5x+IcYj+PM/tALBdP51XqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"3b5b90a2ade6cbd3ca6dbd5735dfb140efb33cbb","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Filters coming HTML content for any character, character set or word. And in this way, `content-filter` provides protection against NoSQL (like MongoDB) injection attacks on Node.js.","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.19":{"name":"content-filter","version":"1.0.19","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.19","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"b1b882301d2d0bc2337c3072e8ac4e4cc0c446b3","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.19.tgz","integrity":"sha512-5wpnWP0uHHszt1UZIIIn6QbEuI3cdsiOcY30kL3DBgKM5pUEVhmUwxV6/GYh7LUlu27KPIWq2DtieqO0goft8A==","signatures":[{"sig":"MEYCIQCMzm6Ah+PlUmxrNHDIMPKiV79yI0+XIPo2/aeuUJQnSQIhAPRnkFvM4e7F64yBbGKxw8Dqz0sXcHqc2jIKGCArD7vd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"b1b882301d2d0bc2337c3072e8ac4e4cc0c446b3","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Filters coming HTML content for any character, character set or word. And in this way, `content-filter` provides protection against NoSQL (like MongoDB) injection attacks on Node.js.","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.20":{"name":"content-filter","version":"1.0.20","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.20","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"aa40bfe1a19d172294bf4ca8cf5546555deb5825","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.20.tgz","integrity":"sha512-81QuBOvd3V2U8HkXpd/qUdUNcWZnCCIXfFrObTTq9MxfC78pg60lRzP8v5IsA1LRkikcV0Tlrs73lKUH0+Z58Q==","signatures":[{"sig":"MEUCIQCAKsV8AaRCaA/JWPjvWYztITNm2Cn43jzduQgghjJzuwIgb6SMUXea79afb+3wtF4ipaJ73UH4WwGFJTWwjNGCAZY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"aa40bfe1a19d172294bf4ca8cf5546555deb5825","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Provides protection against NoSQL (like MongoDB) injection attacks on Node.js.","_nodeVersion":"0.12.6","dependencies":{},"directories":{}},"1.0.21":{"name":"content-filter","version":"1.0.21","keywords":["mongodb","mongodb security","mongo security","nosql security","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.21","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"794196d272d7d8bcb948e8e05283db0e6a79897c","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.21.tgz","integrity":"sha512-zRE5tYuGWY3LrJ0ZfhchVEtPO+TlVqJV+u3BtqOST7J5aUwhd/+Mv/u/yBFNHkoOTCbI7pZLZf3cPFq3ZIdFIw==","signatures":[{"sig":"MEYCIQC/yfjMgrNxxYJPrDyWoYG+FKVbXc9nJxX3W7zCSsLl6QIhAJum/3rvKq+LQCM8HW572Um5D1tJfl29mcwDK9p2F2K9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"794196d272d7d8bcb948e8e05283db0e6a79897c","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"2.13.4","description":"A multipurpose content-filter. Provides protection against NoSQL (like MongoDB) injection attacks on Node.js.","_nodeVersion":"5.1.0","dependencies":{},"directories":{}},"1.0.22":{"name":"content-filter","version":"1.0.22","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","request filter","filtering","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.22","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"b62c60dce2b285011771ac01feacf8966f995241","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.22.tgz","integrity":"sha512-itIvcVWIo/gFXvAhvlflmGt4ymfLGYxvxMOvxKWM1Q4CD53lGjFsqHnYvbAZDZ4m+EiOZAw0qvBOQuY09ZgNow==","signatures":[{"sig":"MEUCIQCBbbdJECnbdFRYF9o9KDY/vPxV+5/jczskUOZ6KEPJVwIgE7UHKjSaqzl8jJANKDdhHh9LaXdrvmV5oqk/lAWWW9s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"b62c60dce2b285011771ac01feacf8966f995241","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"3.5.2","description":"A multipurpose content-filter. Provides protection against NoSQL (like MongoDB) injection attacks on Node.js.","_nodeVersion":"5.3.0","dependencies":{},"devDependencies":{"eslint":"^1.10.3","babel-eslint":"^5.0.0-beta6"},"directories":{}},"1.0.23":{"name":"content-filter","version":"1.0.23","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","request filter","filtering","filter","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.23","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"f74f4f13e05c306e204bd361ea7faece0897b985","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.23.tgz","integrity":"sha512-VZNA+NIOWbVT++OtTBdyPC6NvjAyOp195OzqmX9XfcxBzMiFrkhVss8fm+O4a43/uz7i6XYcqm5aNmwbCC042w==","signatures":[{"sig":"MEUCIQDpcKmysjCFEXue3sgD1qx1o99S00B6CFUmoObIXBGtXwIgXjNXffIDdM9Pbjs1v4HoUzjJBvNWqztXzE3y55uBROk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"f74f4f13e05c306e204bd361ea7faece0897b985","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"3.10.6","description":"A multipurpose content-filter. Provides protection against NoSQL (like MongoDB) injection attacks on Node.js.","_nodeVersion":"6.3.0","dependencies":{},"devDependencies":{"eslint":"^1.10.3","babel-eslint":"^5.0.0-beta6"},"_npmOperationalInternal":{"tmp":"tmp/content-filter-1.0.23.tgz_1477986021522_0.45651705120690167","host":"packages-12-west.internal.npmjs.com"},"directories":{}},"1.0.24":{"name":"content-filter","version":"1.0.24","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","request filter","filtering","filter","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.24","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"ffc0c48942397385a06a20ca05643550ab36c51a","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.24.tgz","integrity":"sha512-k6MgyAgtPRj/z3TukwUSkhDRfHyHdua4DAupf32LiwdlHg7C8oDZaOdiavOHirn1q90Mocm7j5Q22zyd4utAoQ==","signatures":[{"sig":"MEYCIQCmjxlLKkQu2wFqx/yjIaixQ7LtV4HoswJ9MC4HgMAMnQIhALczsG38fvw2S5hrJaCPPcxLw448Y3Bs0lw1Mr0/iYiJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ffc0c48942397385a06a20ca05643550ab36c51a","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"3.10.6","description":"A simple but powerful content-filter. Also provides protection against NoSQL (like MongoDB) injection attacks on Node.js","_nodeVersion":"6.3.0","dependencies":{},"devDependencies":{"eslint":"^1.10.3","babel-eslint":"^5.0.0-beta6"},"_npmOperationalInternal":{"tmp":"tmp/content-filter-1.0.24.tgz_1478002169622_0.41862717806361616","host":"packages-12-west.internal.npmjs.com"},"directories":{}},"1.0.25":{"name":"content-filter","version":"1.0.25","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","request filter","filtering","filter","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.25","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"aefad4c6691cede51ef6e644a4764f025b5f429c","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.25.tgz","integrity":"sha512-RIv22s0zzNMjSam/RZUzX2E8gADzEMZLRTyzkFaVh3RXBnGdikg01nEA9+oHqaFwxULoHqzDKsv7kVF9MMAuEw==","signatures":[{"sig":"MEYCIQC4RvegUjWFqS5TRg6dL5mem037vgVZOLKpH4VOWtR72AIhAIwzPZhv/3McwSp2egHA+B4rGkJfwRjwpYMTEnxB0pVS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"aefad4c6691cede51ef6e644a4764f025b5f429c","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"3.10.6","description":"A simple but powerful content-filter. Also provides protection against NoSQL (like MongoDB) injection attacks on Node.js","_nodeVersion":"6.3.0","dependencies":{},"devDependencies":{"eslint":"^1.10.3","babel-eslint":"^5.0.0-beta6"},"_npmOperationalInternal":{"tmp":"tmp/content-filter-1.0.25.tgz_1478010055778_0.4544364335015416","host":"packages-12-west.internal.npmjs.com"},"directories":{}},"1.0.26":{"name":"content-filter","version":"1.0.26","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","request filter","filtering","filter","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.0.26","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"d5c916ffa01947f79358c19fc4dec0838826ba1a","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.0.26.tgz","integrity":"sha512-irZPvIyaxSTYKATmI9vRKjmfgqjQrhMyu4ptu7rYpqI9f2uAh088oqaHhQytR3BYQnyXQ1eQxRRO5tVeHZT9Ww==","signatures":[{"sig":"MEUCIQDFnmx1rgRcqngxY3OJzM2yYtWzsNP70N6pfZzD0TOguQIgWniovuHXVaDZ3LR5LKIHbqFeinbv9sxndLOaVbn0s74=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"d5c916ffa01947f79358c19fc4dec0838826ba1a","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"3.10.6","description":"A simple but powerful content-filter. Also provides protection against NoSQL (like MongoDB) injection attacks on Node.js","_nodeVersion":"6.3.0","dependencies":{},"devDependencies":{"eslint":"^1.10.3","babel-eslint":"^5.0.0-beta6"},"_npmOperationalInternal":{"tmp":"tmp/content-filter-1.0.26.tgz_1478010522614_0.380177483195439","host":"packages-12-west.internal.npmjs.com"},"directories":{}},"1.1.0":{"name":"content-filter","version":"1.1.0","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","request filter","filtering","filter","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.1.0","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"91a3748bfd95d2ff2d9b356d48aa48c17fbb9236","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.1.0.tgz","integrity":"sha512-jHzTBzHo5o3UyIYA18PkHJbo2JhpWQnsd7oeOH+cI+qTk3Om8u5S8dliXG2PVJw7tJQTVswqUhPLNDnnc/KtmQ==","signatures":[{"sig":"MEUCIQD2MkCMeKfFedZQUF8FKy34t3SveahnOYQDQzkABBErQwIgAUuKM6e5lSX9hVDScXg5ryOUZOcEPgmSRJPN+D0WqLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"91a3748bfd95d2ff2d9b356d48aa48c17fbb9236","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"3.10.6","description":"A simple but powerful content-filter. Also provides protection against NoSQL (like MongoDB) injection attacks on Node.js","_nodeVersion":"6.3.0","dependencies":{},"devDependencies":{"eslint":"^1.10.3","babel-eslint":"^5.0.0-beta6"},"_npmOperationalInternal":{"tmp":"tmp/content-filter-1.1.0.tgz_1482310557156_0.38580693351104856","host":"packages-12-west.internal.npmjs.com"},"directories":{}},"1.1.1":{"name":"content-filter","version":"1.1.1","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","request filter","filtering","filter","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.1.1","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"9021d6e994e57735fdf331cf54180114f3cec803","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.1.1.tgz","integrity":"sha512-GsmWRaHbGfWlaERoXYmOcwrCke9itgqkFjGfSvW5U/vpomYKwc2zGArZ1Coqu5+YgSd6ixbI1DR1pcQbGNgisw==","signatures":[{"sig":"MEUCIQCEZSRlLqGPxB/TmYZ5vNu2II1uH9Qyuc1Pe8xgaEFk8wIgFF9w3+31JEJDF+7od/KUZBeuooFIndn3HjlNWPzKIX0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"9021d6e994e57735fdf331cf54180114f3cec803","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"4.1.2","description":"A simple but powerful content-filter. Also provides protection against NoSQL (like MongoDB) injection attacks on Node.js","_nodeVersion":"7.6.0","dependencies":{},"devDependencies":{"eslint":"^1.10.3","babel-eslint":"^5.0.0-beta6"},"_npmOperationalInternal":{"tmp":"tmp/content-filter-1.1.1.tgz_1488467006932_0.5962843482848257","host":"packages-18-east.internal.npmjs.com"},"directories":{}},"1.1.2":{"name":"content-filter","version":"1.1.2","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","body filter","request filter","filtering","filter","sanitize","query","selector","injection","hash-injection"],"author":{"name":"efkan"},"license":"MIT","_id":"content-filter@1.1.2","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"homepage":"https://github.com/efkan/content-filter#readme","bugs":{"url":"https://github.com/efkan/content-filter/issues"},"dist":{"shasum":"06466e91a35d787a7de084d4a7649768df0022df","tarball":"https://registry.npmjs.org/content-filter/-/content-filter-1.1.2.tgz","integrity":"sha512-VaZ4Y7h776r0v2WxWqu3iatjYI6/N0msXK8O1ymtkFWbSvaFoCePksS8U60BS6dUMZeAlqhN09SuM7ghdzRP1Q==","signatures":[{"sig":"MEUCIQDSNtr05oRqh6taDqtNxnX44w6NbHJAa2nORXm7dv3pbgIgM9I3eOcpZrd28TSYreMk6vBZQ3cvQdgpQaJ4QXbQ+b4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":"content-filter@*","_shasum":"72cf766f427999269e2a421b02a2b87b626b95c2","gitHead":"45cd90b7f664c1565b3a21b729b7d1613de0ad5a","scripts":{},"_npmUser":{"name":"efkan","email":"efkan_turen@yahoo.com"},"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"_npmVersion":"5.5.1","description":"A simple but powerful content-filter. Also provides protection against NoSQL (like MongoDB) injection attacks on Node.js","_nodeVersion":"8.9.1","dependencies":{},"devDependencies":{"eslint":"^1.10.3","babel-eslint":"^5.0.0-beta6"},"_npmOperationalInternal":{"tmp":"tmp/content-filter-1.1.2.tgz_1511621959876_0.12001808290369809","host":"s3://npm-registry-packages"},"directories":{}}},"time":{"created":"2015-08-08T14:35:40.217Z","modified":"2026-03-18T12:14:28.210Z","1.0.0":"2015-08-08T14:35:40.217Z","1.0.1":"2015-08-08T15:15:44.303Z","1.0.2":"2015-08-08T20:21:54.987Z","1.0.3":"2015-08-08T21:09:04.087Z","1.0.4":"2015-08-08T21:15:03.216Z","1.0.5":"2015-08-09T15:12:36.083Z","1.0.6":"2015-08-09T15:21:48.031Z","1.0.7":"2015-08-10T04:53:28.994Z","1.0.8":"2015-08-10T05:14:48.360Z","1.0.9":"2015-08-10T12:57:34.562Z","1.0.10":"2015-08-11T10:19:56.583Z","1.0.11":"2015-08-12T20:31:31.868Z","1.0.12":"2015-08-14T12:46:21.790Z","1.0.13":"2015-08-14T13:24:17.106Z","1.0.14":"2015-08-23T04:00:29.998Z","1.0.15":"2015-08-24T07:30:01.003Z","1.0.16":"2015-08-26T07:21:28.802Z","1.0.17":"2015-09-03T10:59:08.829Z","1.0.18":"2015-10-24T20:06:22.791Z","1.0.19":"2015-11-13T12:42:02.978Z","1.0.20":"2015-11-18T07:08:53.475Z","1.0.21":"2015-12-03T11:37:01.629Z","1.0.22":"2016-01-29T06:44:46.687Z","1.0.23":"2016-11-01T07:40:23.204Z","1.0.24":"2016-11-01T12:09:31.460Z","1.0.25":"2016-11-01T14:20:57.798Z","1.0.26":"2016-11-01T14:28:44.775Z","1.1.0":"2016-12-21T08:55:59.201Z","1.1.1":"2017-03-02T15:03:27.640Z","1.1.2":"2017-11-25T14:59:20.824Z"},"bugs":{"url":"https://github.com/efkan/content-filter/issues"},"author":{"name":"efkan"},"license":"MIT","homepage":"https://github.com/efkan/content-filter#readme","keywords":["mongodb","mongodb security","mongo security","mongo protector","mongodb protector","mongodb protection","nosql protection","nosql security","nosql injection","content filter","content filtering","content-filter","body filter","request filter","filtering","filter","sanitize","query","selector","injection","hash-injection"],"repository":{"url":"git+https://github.com/efkan/content-filter.git","type":"git"},"description":"A simple but powerful content-filter. Also provides protection against NoSQL (like MongoDB) injection attacks on Node.js","maintainers":[{"name":"efkan","email":"efkan_turen@yahoo.com"}],"readme":"# Content-filter\n<span>[![Build Status](https://travis-ci.org/efkan/content-filter.svg?branch=master)](https://travis-ci.org/efkan/content-filter)</span>\n\nFilters coming HTML request content for any character, character set, a word (_slang_, _swearword_ or whatever) or a sentence and returns an *Express.js middleware*. The middleware examines URL and HTML body contents of the request (by using body-parser) and blocks the request and returns a message if there is a forbidden character. In this way, provides protection against NoSQL (like MongoDB) injection attacks for Node.js applications.\n\nWhat about NoSQL? What are the risks?<br>\n<a href='https://www.owasp.org/index.php/Testing_for_NoSQL_injection'>https://www.owasp.org/index.php/Testing_for_NoSQL_injection</a><br>\n<a href='http://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb.html'>http://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb.html</a>\n<br>\n<a href='http://blog.websecurify.com/2014/08/attacks-nodejs-and-mongodb-part-to.html'>http://blog.websecurify.com/2014/08/attacks-nodejs-and-mongodb-part-to.html</a>\n\nFiltering for anything\n-----------------------\n`content-filter` does not depend on NoSQL. You can use with purpose of filtering for anything. Also you can filter only URL or body data. See the [sample project](#sample-project) in use, [guide](#guide), [examples](#examples) and [performance tests results](#performance-test-results).\n\nMotivation\n-----------\nThere a copule of risk when developing a project using NoSQL databases like MongoDB. The first one about URL and the other one about the content of `req.body`. (sent data by an allowed user)\n\n<b>URL risk</b><br>\nIf a malicious user tries to hack your database it's not so hard for anybody. Although it's not the right way, assume you use `/users/123` as URL to get information and show to a user whose `id` is `123`. However someone tries `/users/%7B%24ne%3Anull%7D` as URL to get user informations after logged on your system the URL means `/users/{$ne:null}` and likely your server sends the all users from your user collection.\n\n<b>Content risk</b><br>\nMalicous users might embed unwanted expression into the `req.body` object as the URL risk.\nIf you want to check query parameters when you querying the collection there is another beautiful and lightweight solution which is named as [mongo-sanitize][1].\n<br><br>\nHowever I've wanted a middleware tool to filter the data at the beginning of my Node.js app. Without any special labor at every MongoDB operation. Therefore I wrote this easy tool.\n\nSample Project\n---------------\n[content-filter-example](https://github.com/efkan/content-filter-example)\n\nGuide\n---------\n<b>Install</b><br>\n`npm install content-filter --save`\n\n<b>Note:</b> The package doesn't contain `body-parser` library. So, the library should be added the project to use `content-filter`.<br>\n`npm install body-parser --save`\n\n<b>Using with Express.js</b>\n\nJust add the following two lines to your code;\n```\nvar filter = require('content-filter')\napp.use(filter());\n```\n\nA sample usage in the code;\n```\nvar express = require('express')\nvar bodyParser = require('body-parser')\nvar filter = require('content-filter')  /* STEP-1 */\n\nvar app = express()\n\napp.use(bodyParser.json())\napp.use(bodyParser.urlencoded({extended:true}))\n\napp.use(filter()); /* STEP-2 and that's all */\n\n```\nBy the above default using, content-filter checks the request URL for `{` and `$` characters and functions and objects of the html body data *property names* for `$` character coming by `GET`, `POST`, `PUT` and `DELETE` methods.\n\nFor example, content-filter checks \"/users\", \"_id\", \"$ne\", \"address\", \"street\" and \"province\" values from the below request. \"/users\" is examined for `{` and `$` characters and it passes. The others are examined for `$` character and return 403 status with an error message because of \"$ne\" expression and hereby **content-filter provide a reliable security for MongoDB applications against the injection attacks**.\n\n```\nPUT /users HTTP/1.1\nHost: webaddress.com\nContent-Type: application/json\n\n{\n  \"_id\": { \"$ne\": \"A Malicious Expression\" },\n  \"address\": {\n\t\"street\": \"Raising Road St.\",\n\t\"province\": \"New Hampshire\",\n  }\n}\n```\n\nThere are several options are used for to configure the module.\n\n**methodList**:<br>\nUse this option to select method which will have been filtered and to stop the checking any method. The module checks for GET, POST, PUT and DELETE methods as default.  <br>\n\n Configuring the filter only for `POST`, `PUT` and `DELETE` methods;<br>\n `app.use(filter({methodList:['POST', 'PUT', 'DELETE']}))` <br>\n\n**typeList**:<br>\nUse this option to set filter data structure types of Javascript. Content-filter able to check every data type (object, function, number, string, boolean and symbol) to filter. Because an application cannot make a decision whether an expression is an innocent or a malicious. But a developer can. Content-filter checks `object` and `function` types as default considering MongoDB security.\n\n Setting to check only `string` data types;<br>\n `app.use(filter({typeList:['string']}))` <br><br>\n_Note: To filter form data object for a string 'object' parameter must be found in typeList array_ <br>\n `app.use(filter({typeList:['object','string']}))`<br>\n\n**urlBlackList**:<br>\nUse this option to configure URL black list elements and to stop the filtering the URL content. The module checks `{` and `$` as default considering MongoDB security. Also `urlBlackList` scope contains `req.query` object. At the same time GET method requests are evaluated by using urlBlackList.<br>\n\n_Note: Ascii code must be used for non-english and specific characters like space. (**`%20`** must be used instead of **space** - [more information](http://www.w3schools.com/tags/ref_urlencode.asp))<br>_\n\n Removing url filtering;<br>\n `app.use(filter({urlBlackList:[null]}))` <br>\n\n Configuring the filter for several words;<br>\n `app.use(filter({urlBlackList:['word1', 'word2']}))` <br>\n\n**urlMessage**:<br>\nUse this option to change the default request blocking message to show to the user. <br>\n `app.use(filter({urlMessage: 'A forbidden expression has been found in URL: '}))` <br>\n\n**bodyBlackList**:<br>\nUse this option to configure body black list elements and to stop the filtering the body content. The module checks for `$` as default considering MongoDB security.<br>\n\n Removing body filtering;<br>\n `app.use(filter({bodyBlackList:[null]}))` <br>\n\n Configuring the filter for only `test` characters;<br>\n `app.use(filter({bodyBlackList:['test']}))` <br>\n\n**bodyMessage**:<br>\nUse this option to change the default request blocking message to show to the user.<br>\n `app.use(filter({bodyMessage: 'A forbidden expression has been found in form data: '}))` <br>\n\n**appendFound**:<br>\nUse this option to append found forbidden characters to the end of error message. Error message can be default or overridden urlMessage and bodyMessage.<br>\n`app.use(filter({appendFound: true}))` <br>\n\n**caseSensitive**:<br>\nUse this option to stop the case-sensitive when filtering. The option is `true` as default. <br>\nKeep in mind that `bodyBlackList:['MALICIOUS']` is not equal to `bodyBlackList:['Malicious']`. To catch both of them use `caseSensitive` like the following: <br>\n`app.use(filter({bodyBlackList:['malicious'], caseSensitive:false}))`\n\n_Note: if `content-filter` is used for to secure NoSQL DB by only checking special characters like `$` and `{` don't set this parameter false because of thought of performance. Actually it takes trivial too very small time._\n\n**checkNames**:<br>\nUse this option to include property names of the objects -that will have been checked- to filter. The option is `true` as default.\n\nAssume there is a request body object like the following which comes from a user form to delete selected goods from `shoppingCarts` collection by user `_id` value from our MongoDB. If `checkNames` option is set as `false` content-filter checks `\"abcd\"` and `10` values if *typeList* contains 'string' and 'number' values. When `checkNames` option is `true`, content-filter checks `id`, `$ne`, `\"abcd\"`, `count` and `10` values under the same conditions.\n\n```\n{\n\t_id: { $ne: \"abcd\" },\n\tcount: 10\n}\n```\n```\nshoppingCarts.delete({ _id: req.body._id })\n```\n\nBy the way, the above method is not a best-practice. Instaed that, Passport.js and `req.user._id` object could be used.<br>\n\n**dispatchToErrorHandler**:<br>\nUse this option to dispatch the error to your error handler middleware when `content-filter` catches forbidden characters. <br>\n\n Configuring the filter to dispatch errors to the error handler;<br>\n `app.use(filter({dispatchToErrorHandler: true}))` <br>\n\nBy this option `content-filter` gives an error object to the `next(error)` method like the following object to handle in error handler. <br>\n  `{ status: 403, code: \"FORBIDDEN_CONTENT\", message: Message }`\n\n\n**combining options:**<br>\n `app.use(filter({urlBlackList:['&&'], bodyBlackList:['$ne'], methodList:['POST', 'PUT', 'DELETE'], dispatchToErrorHandler: true}))` <br>\n or<br>\n ```\n var filterOptions = {\n \turlBlackList:['&&'],\n \turlMessage: 'A forbidden expression has been found in URL: ',\n \tbodyBlackList:['$ne'],\n \tbodyMessage: 'A forbidden expression has been found in form data: ',\n \tmethodList:['POST', 'PUT', 'DELETE'],\n  dispatchToErrorHandler: true,\n }\n\n app.use(filter(filterConf))\n ```\n\nExamples\n-------------------------\n\n### Protecting a MongoDB from injection\nConfiguring the filter for `$`, `{`, `&&` and `||` characters;<br>\n```\nvar blackList = ['$','{','&&','||']\nvar options = {\n\turlBlackList: blackList,\n\tbodyBlackList: blackList\n}\n\napp.use(filter(options))\n```\n\n_Note: Today to secure NoSQL databases, [several important characters](https://github.com/cr0hn/nosqlinjection_wordlists/blob/master/mongodb_nosqli.txt) (`$`,`{`,`&&` and `||`) should be filtered. They can be changed over time._\n\n\n### Filtering the form data object for a string\nFiltering the form data object for a string slang word 'sh*t' :)\n\n_Note: Most of the time blocking the word on the client side may be more accurate solution when considering the server performance.\nHowever if the message comes from an API `content-filter` might be solved this issue_\n\nConfiguring the `content-filter`:<br>\n(Actually default values of typeList, bodyMessage and methodList are already proper and not needed to set them)\n```\nvar options = {\n\ttypeList:['object','string'],\n\tbodyBlackList:['sh*t'],\n\tbodyMessage: 'A forbidden expression has been found in form data: ',\n\tmethodList:['POST', 'PUT', 'DELETE']\n}\n\napp.use(filter(options))\n```\n\nAssume that the request below comes to the server:\n```\nPOST /users HTTP/1.1\nHost: webaddress.com\nContent-Type: application/json\n\n{\n  \"address\": {\n\t\"street\": \"The Sh*t Road St.\"\n  }\n}\n```\n\nHTML status of the server response would be `403` (forbidden). And the response test like the following:\n`A forbidden expression has been found in form data: sh*t`\n\n### Filtering URL data for a string\nAlthought it's not sensible I'll filter URL data for 'admin_id' word for the sake of example.\n\nConfiguring the `content-filter`:\n`app.use(filter({urlBlackList:['admin_id']}))`\n\nAssume that the request below comes to the server(full URL `http://webaddress.com/?query=admin_id`):\n```\nGET /?query=admin_id HTTP/1.1\nHost: webaddresss.com\n```\n\nHTML status of the server response would be `403` (forbidden). And the response test like the following:\n`A forbidden expression has been found in URL: admin_id`\n\n\nPerformance test results\n--------------------------\n\n [process.hrtime()][2] has been used for to calculate elapsed time for the tests. <br><br>\n **Test environment:** Intel 3 Ghz Dual-Core CPU and 4 GB RAM<br>\n **Action:** POST <br>\n\n **Test1** <br>\n *Data:* Consists of nested objects which have 5 objects depth of the total. There were 9 elements at level-1, 11 elements at level-2, 4 elements at level-3, 2 elements at level-4 and 2 elements at level-5 too. URL data length is not important. <br>\n *Options:* Content-filter default options were used.<br>\n *Result:* Completed at 0.486934th ms = 0.0000486934th sec ( 1 ms = 0.001 sec )<br>\n\n **Test2** <br>\n *Data:* Consists of nested objects which have 2 objects depth of the total. 11 elements at level-1 and 4 elements at level-2. Level-1 has two long fileds. The first one contain a picture data as base64 string and its length is 168,275. Other one contains a string its length 2,389.<br>\n *Options:* `typeList` has been set as `[\"object\", \"function\",\"string\"]`<br>\n```\n{\n\ttypeList: [\"object\", \"function\",\"string\"]\n}\n```\n *Result:* Completed at 0.386673rd ms = 0.0000386673rd sec<br>\n\n **Test3** <br>\n *Data:* The same with Test2 data.<br>\n *Options:* `typeList` has been set as `[\"object\", \"function\",\"string\"]` and `bodyBlackList` has been set as `[\"+8+L\"]`<br>\n```\n{\n\ttypeList: [\"object\", \"function\",\"string\"],\n\tbodyBlackList: [\"+8+L\"]\n}\n```\n *Result:* Content-filter found the forbidden string which is at 83,225th column at 0.629969th ms = 0.0000629969th sec after the process started. <br>\n\n **Conclusion** <br>\n This is a configurable and reliable tool to filter data.\n\n **Decription of object levels**\n```\n{\n\tlevel1_a: 1,\n\tlevel1_b: 2,\n\tlevel1_c: {\n\t\tlevel2_a: \"One\",\n\t\tlevel2_b: {\n\t\t\tlevel3_a: \"The level is three\",\n\t\t}\n\t}\n}\n```\n\n**Credit:** [http://blog.tompawlak.org/measure-execution-time-nodejs-javascript][3]\n\n[1]:https://github.com/vkarpov15/mongo-sanitize\n[2]:https://nodejs.org/api/process.html#process_process_hrtime\n[3]:http://blog.tompawlak.org/measure-execution-time-nodejs-javascript\n","readmeFilename":"README.md","users":{"vchouhan":true,"code-curious":true}}