139 lines
9.5 KiB
JSON
139 lines
9.5 KiB
JSON
|
{
|
||
|
"_args": [
|
||
|
[
|
||
|
{
|
||
|
"raw": "csurf@~1.8.3",
|
||
|
"scope": null,
|
||
|
"escapedName": "csurf",
|
||
|
"name": "csurf",
|
||
|
"rawSpec": "~1.8.3",
|
||
|
"spec": ">=1.8.3 <1.9.0",
|
||
|
"type": "range"
|
||
|
},
|
||
|
"/home/jdaugherty/work/GT2/GT2-Android/node_modules/connect"
|
||
|
]
|
||
|
],
|
||
|
"_from": "csurf@>=1.8.3 <1.9.0",
|
||
|
"_id": "csurf@1.8.3",
|
||
|
"_inCache": true,
|
||
|
"_location": "/csurf",
|
||
|
"_npmUser": {
|
||
|
"name": "dougwilson",
|
||
|
"email": "doug@somethingdoug.com"
|
||
|
},
|
||
|
"_npmVersion": "1.4.28",
|
||
|
"_phantomChildren": {
|
||
|
"inherits": "2.0.3",
|
||
|
"statuses": "1.4.0"
|
||
|
},
|
||
|
"_requested": {
|
||
|
"raw": "csurf@~1.8.3",
|
||
|
"scope": null,
|
||
|
"escapedName": "csurf",
|
||
|
"name": "csurf",
|
||
|
"rawSpec": "~1.8.3",
|
||
|
"spec": ">=1.8.3 <1.9.0",
|
||
|
"type": "range"
|
||
|
},
|
||
|
"_requiredBy": [
|
||
|
"/connect"
|
||
|
],
|
||
|
"_resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
|
||
|
"_shasum": "23f2a13bf1d8fce1d0c996588394442cba86a56a",
|
||
|
"_shrinkwrap": null,
|
||
|
"_spec": "csurf@~1.8.3",
|
||
|
"_where": "/home/jdaugherty/work/GT2/GT2-Android/node_modules/connect",
|
||
|
"author": {
|
||
|
"name": "Jonathan Ong",
|
||
|
"email": "me@jongleberry.com",
|
||
|
"url": "http://jongleberry.com"
|
||
|
},
|
||
|
"bugs": {
|
||
|
"url": "https://github.com/expressjs/csurf/issues"
|
||
|
},
|
||
|
"contributors": [
|
||
|
{
|
||
|
"name": "Douglas Christopher Wilson",
|
||
|
"email": "doug@somethingdoug.com"
|
||
|
}
|
||
|
],
|
||
|
"dependencies": {
|
||
|
"cookie": "0.1.3",
|
||
|
"cookie-signature": "1.0.6",
|
||
|
"csrf": "~3.0.0",
|
||
|
"http-errors": "~1.3.1"
|
||
|
},
|
||
|
"description": "CSRF token middleware",
|
||
|
"devDependencies": {
|
||
|
"body-parser": "~1.12.4",
|
||
|
"connect": "3",
|
||
|
"cookie-parser": "~1.3.5",
|
||
|
"cookie-session": "~1.1.0",
|
||
|
"istanbul": "0.3.15",
|
||
|
"mocha": "2.2.5",
|
||
|
"supertest": "1.0.1"
|
||
|
},
|
||
|
"directories": {},
|
||
|
"dist": {
|
||
|
"shasum": "23f2a13bf1d8fce1d0c996588394442cba86a56a",
|
||
|
"tarball": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz"
|
||
|
},
|
||
|
"engines": {
|
||
|
"node": ">= 0.8.0"
|
||
|
},
|
||
|
"files": [
|
||
|
"HISTORY.md",
|
||
|
"LICENSE",
|
||
|
"index.js"
|
||
|
],
|
||
|
"gitHead": "3ebc176634b1a93ee4601a1c1929c0014d65e5ce",
|
||
|
"homepage": "https://github.com/expressjs/csurf#readme",
|
||
|
"keywords": [
|
||
|
"csrf",
|
||
|
"tokens",
|
||
|
"middleware",
|
||
|
"express"
|
||
|
],
|
||
|
"license": "MIT",
|
||
|
"maintainers": [
|
||
|
{
|
||
|
"name": "jongleberry",
|
||
|
"email": "jonathanrichardong@gmail.com"
|
||
|
},
|
||
|
{
|
||
|
"name": "dougwilson",
|
||
|
"email": "doug@somethingdoug.com"
|
||
|
},
|
||
|
{
|
||
|
"name": "tjholowaychuk",
|
||
|
"email": "tj@vision-media.ca"
|
||
|
},
|
||
|
{
|
||
|
"name": "mscdex",
|
||
|
"email": "mscdex@mscdex.net"
|
||
|
},
|
||
|
{
|
||
|
"name": "fishrock123",
|
||
|
"email": "fishrock123@rocketmail.com"
|
||
|
},
|
||
|
{
|
||
|
"name": "defunctzombie",
|
||
|
"email": "shtylman@gmail.com"
|
||
|
}
|
||
|
],
|
||
|
"name": "csurf",
|
||
|
"optionalDependencies": {},
|
||
|
"readme": "# csurf\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Build status][travis-image]][travis-url]\n[![Test coverage][coveralls-image]][coveralls-url]\n[![Gratipay][gratipay-image]][gratipay-url]\n\nNode.js [CSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery) protection middleware.\n\nRequires either a session middleware or [cookie-parser](https://www.npmjs.com/package/cookie-parser) to be initialized first.\n\n * If you are setting the [\"cookie\" option](#cookie) to a non-`false` value,\n then you must use [cookie-parser](https://www.npmjs.com/package/cookie-parser)\n before this module.\n * Otherwise, you must use a session middleware before this module. For example:\n - [express-session](https://www.npmjs.com/package/express-session)\n - [cookie-session](https://www.npmjs.com/package/cookie-session)\n\nIf you have questions on how this module is implemented, please read\n[Understanding CSRF](https://github.com/pillarjs/understanding-csrf).\n\n## Installation\n\n```sh\n$ npm install csurf\n```\n\n## API\n\n```js\nvar csurf = require('csurf')\n```\n\n### csurf([options])\n\nCreate a middleware for CSRF token creation and validation. This middleware\nadds a `req.csrfToken()` function to make a token which should be added to\nrequests which mutate state, within a hidden form field, query-string etc.\nThis token is validated against the visitor's session or csrf cookie.\n\n#### Options\n\nThe `csurf` function takes an optional `options` object that may contain\nany of the following keys:\n\n##### cookie\n\nDetermines if the token secret for the user should be stored in a cookie\nor in `req.session`. Defaults to `false`.\n\nWhen set to `true` (or an object of options for the cookie), then the module\nchanges behavior and no longer uses `req.session`. This means you _are no\nlonger required to use a session middleware_. Instead, you do need to use the\n[cookie-parser](https://www.npmjs.com/package/cookie-parser) middleware in\nyour app before this middleware.\n\nWhen set to an object, cookie storage of the secret is enabled and the\nobject contains options for this functionality (when set to `true`, the\ndefaults for the options are used). The options may contain any of the\nfollowing keys:\n\n - `key` - the name of the cookie to use to store the token secret\n (defaults to `'_csrf'`).\n - `path` - the path of the cookie (defaults to `'/'`).\n - any other [res.cookie](http://expressjs.com/4x/api.html#res.cookie)\n option can be set.\n\n##### ignoreMethods\n\nAn array of the methods for which CSRF token checking will disabled.\nDefaults to `['GET', 'HEAD', 'OPTIONS']`.\n\n##### sessionKey\n\nDetermines what property (\"key\") on `req` the session object is located.\nDefaults to `'session'` (i.e. looks at `req.session`). The CSRF secret\nfrom this library is stored and read as `req[sessionKey].csrfSecret`.\n\nIf the [\"cookie\" option](#cookie) is not `false`, then this option does\nnothing.\n\n##### value\n\nProvide a function that the middleware will invoke to read the token from\nthe request for validation. The function is called as `value(req)` and is\nexpected to return the token as a string.\n\nThe default value is a function that reads the token from the following\nlocations, in order:\n\n - `req.body._csrf` - typically generated by the `body-parser` module.\n - `req.query._csrf` - a built-in from Express.js to read from the URL\n query string.\n - `req.headers['csrf-token']` - the `CSRF-Token` HTTP request header.\n - `req.headers['xsrf-token']` - the `XSRF-Token` HTTP request header.\n - `req.headers['x-csrf-token']` - the `X-CSRF-Token` HTTP request header.\n - `req.headers['x-xsrf-token']` - the `X-XSRF-Token` HTTP request header.\n\n## Example\n\n### Simple express example\n\nThe following is an example of some server-side code that generates a form\nthat requires a CSRF token to post back.\n\n```js\nvar cookieParser = require('cookie-parser')\nvar csrf = require('csurf')\nvar bodyParser = require('body-parser')
|
||
|
"readmeFilename": "README.md",
|
||
|
"repository": {
|
||
|
"type": "git",
|
||
|
"url": "git+https://github.com/expressjs/csurf.git"
|
||
|
},
|
||
|
"scripts": {
|
||
|
"test": "mocha --check-leaks --reporter spec --bail test/",
|
||
|
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot test/",
|
||
|
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec test/"
|
||
|
},
|
||
|
"version": "1.8.3"
|
||
|
}
|