# rsi-mongo-sanitize

> Helper to sanitize mongodb queries against query selector injections while allowing RSI query parameters

Latest version **1.0.1** (published 2021-01-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install rsi-mongo-sanitize
pnpm add rsi-mongo-sanitize
yarn add rsi-mongo-sanitize
bun add rsi-mongo-sanitize
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2021-01-20 |
| First published | 2021-01-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 4.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Idris Adenopo |
| Maintainers | idrisadenopo |
| Keywords | rsi, mongodb, sanitize, query, selector, injection |

## Links

- npm: https://www.npmjs.com/package/rsi-mongo-sanitize
- Repository: https://github.com/idrisadenopo/rsi-mongo-sanitize
- Homepage: https://github.com/idrisadenopo/rsi-mongo-sanitize#readme
- Issues: https://github.com/idrisadenopo/rsi-mongo-sanitize/issues
- npm.io page: https://npm.io/package/rsi-mongo-sanitize

## Alternatives

- [angular-pipes](https://npm.io/package/angular-pipes.md) — 5.6K weekly downloads
- [@ng-web-apis/midi](https://npm.io/package/@ng-web-apis/midi.md) — 2.6K weekly downloads
- [happn-3](https://npm.io/package/happn-3.md) — 1.6K weekly downloads
- [@opensip-cli/lang-go](https://npm.io/package/@opensip-cli/lang-go.md) — 1.2K weekly downloads
- [mongoose-typescript](https://npm.io/package/mongoose-typescript.md) — 85 weekly downloads

## Recent versions

- 1.0.1 (latest) — 2021-01-20

## README

# rsi-mongo-sanitize

Extends [mongo-sanitize](https://github.com/vkarpov15/mongo-sanitize) which sanitizes inputs against [query selector injection attacks](http://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb.html) to allow [RSI](https://www.w3.org/Submission/viwi-protocol/) query parameters

```
import { sanitize } from "rsi-mongo-sanitize";

// The sanitize function will strip out any keys that start with '$' in the input,
// except those which are special RSI query parameters
// so you can pass it to MongoDB without worrying about malicious users overwriting
// query selectors.

const clean = sanitize(req.params.username);

Users.findOne({ name: clean }, function(err, doc) {
  // ...
});
```

```
var sanitize = require('rsi-mongo-sanitize');

var clean = sanitize.sanitize(req.params.username);

Users.findOne({ name: clean }, function(err, doc) {
  // ...
});
```

If `sanitize()` is passed an object, it will mutate the original object.

---
_Source: https://npm.io/package/rsi-mongo-sanitize · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
