{"_id":"egg-security","_rev":"4633124","name":"egg-security","description":"security plugin in egg framework","dist-tags":{"latest":"3.7.0","latest-1":"1.14.0","release-3.x":"3.8.0"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"time":{"modified":"2026-04-10T19:01:54.000Z","created":"2016-05-26T09:09:28.026Z","3.8.0":"2025-01-22T16:43:18.100Z","3.7.0":"2025-01-13T12:18:46.982Z","3.6.0":"2024-07-08T15:03:54.552Z","3.5.0":"2024-07-03T13:00:27.417Z","3.4.0":"2024-07-01T15:25:29.782Z","3.3.1":"2024-06-12T08:37:22.583Z","3.3.0":"2024-05-29T09:43:19.999Z","3.2.0":"2024-01-04T09:48:59.744Z","3.1.0":"2023-08-09T13:25:06.326Z","3.0.0":"2023-05-10T10:40:33.067Z","2.11.0":"2022-07-20T03:00:12.728Z","2.10.1":"2022-04-10T03:00:46.097Z","2.10.0":"2022-04-05T03:55:49.440Z","2.9.1":"2022-03-29T09:28:35.622Z","2.9.0":"2021-04-21T13:20:40.740Z","2.8.0":"2020-04-15T16:00:42.732Z","2.7.1":"2019-11-14T03:42:06.140Z","2.7.0":"2019-10-25T00:42:23.648Z","1.14.0":"2019-08-09T08:09:53.548Z","2.6.1":"2019-08-09T07:35:46.785Z","2.6.0":"2019-08-09T02:46:06.859Z","2.5.0":"2019-03-08T01:56:16.482Z","2.4.3":"2019-02-19T02:35:30.297Z","2.4.2":"2019-01-04T10:43:48.040Z","2.4.1":"2018-11-15T02:59:49.855Z","2.4.0":"2018-08-24T11:05:19.169Z","2.3.1":"2018-08-16T06:09:11.290Z","2.3.0":"2018-08-14T03:04:31.380Z","1.13.2":"2018-07-11T03:28:29.744Z","2.2.3":"2018-07-11T03:12:26.637Z","1.13.1":"2018-04-12T03:03:44.272Z","2.2.2":"2018-04-12T03:01:55.277Z","2.2.1":"2018-03-28T14:15:23.458Z","2.2.0":"2018-03-27T06:58:58.446Z","1.13.0":"2018-03-27T06:57:59.720Z","2.1.0":"2018-03-14T08:16:32.923Z","1.12.2":"2018-03-14T07:01:31.313Z","2.0.1":"2018-03-14T06:48:53.486Z","2.0.0":"2017-11-10T04:29:45.835Z","1.12.1":"2017-08-03T05:55:33.970Z","1.12.0":"2017-07-19T02:41:14.689Z","1.11.0":"2017-06-19T10:03:06.964Z","1.10.2":"2017-06-14T09:35:21.730Z","1.10.1":"2017-06-04T14:26:03.179Z","1.10.0":"2017-05-08T16:23:31.523Z","1.9.0":"2017-03-28T03:58:03.117Z","1.8.0":"2017-03-07T11:45:43.125Z","1.7.0":"2017-03-07T07:36:21.086Z","1.6.0":"2017-02-20T08:02:14.756Z","1.5.0":"2017-02-17T05:32:57.853Z","1.4.0":"2017-01-22T06:03:49.478Z","1.3.0":"2016-12-28T06:51:52.279Z","1.2.1":"2016-09-01T11:54:49.068Z","1.2.0":"2016-08-31T15:55:03.582Z","1.1.0":"2016-08-31T04:48:04.449Z","1.0.3":"2016-08-30T12:17:47.189Z","1.0.2":"2016-08-29T11:33:12.955Z","1.0.1":"2016-08-21T07:06:24.596Z","1.0.0":"2016-08-18T10:04:39.308Z","0.0.4":"2016-07-20T16:14:10.517Z","0.0.3":"2016-07-20T16:05:05.987Z","0.0.2":"2016-07-20T15:42:41.708Z","0.0.1":"2016-05-26T09:09:28.026Z"},"users":{},"author":{"name":"jtyjty99999"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"versions":{"3.8.0":{"name":"egg-security","version":"3.8.0","engines":{"node":">=14.20.0"},"description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"@eggjs/ip":"^2.0.2","csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.2.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.26.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","spy":"^1.0.0","supertest":"^6.3.3","path-to-regexp-v8":"npm:path-to-regexp@8"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov"},"repository":{"type":"git","url":"git+https://github.com/eggjs/security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/security#readme","author":{"name":"jtyjty99999"},"license":"MIT","_id":"egg-security@3.8.0","readmeFilename":"README.zh-CN.md","gitHead":"a846247a9f10575807f61ac173793649b297c17e","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"shasum":"c6edc7e452bd26862a81b704d34b2cfbc57fecec","size":24581,"noattachment":false,"key":"/egg-security/-/egg-security-3.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.8.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/egg-security_3.8.0_1737564197909_0.19708069054459765"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-22T16:43:18.100Z","publish_time":1737564198100,"_source_registry_name":"default","_cnpm_publish_time":1737564198100},"3.7.0":{"name":"egg-security","version":"3.7.0","engines":{"node":">=14.20.0"},"description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"@eggjs/ip":"^2.0.2","csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.26.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","spy":"^1.0.0","supertest":"^6.3.3"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","_id":"egg-security@3.7.0","gitHead":"d1299a3033eb5f7ae6ba898624f66f6c5f8a8130","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"shasum":"96743f28af18f25f9f2e0cf3912ecf279c71bf24","size":24530,"noattachment":false,"key":"/egg-security/-/egg-security-3.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.7.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/egg-security_3.7.0_1736770726739_0.9177990534662677"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-13T12:18:46.982Z","publish_time":1736770726982,"_source_registry_name":"default","_cnpm_publish_time":1736770726982},"3.6.0":{"name":"egg-security","version":"3.6.0","engines":{"node":">=14.20.0"},"description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"@eggjs/ip":"^2.0.2","csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.26.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","spy":"^1.0.0","supertest":"^6.3.3"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","_id":"egg-security@3.6.0","gitHead":"f4500db7c2c5937d7172b1afbf33b71d58370879","_nodeVersion":"18.20.3","_npmVersion":"10.7.0","dist":{"shasum":"6ecad5fc779e97cf97830ded9268c06000d703db","size":24510,"noattachment":false,"key":"/egg-security/-/egg-security-3.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.6.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_3.6.0_1720451034412_0.12972855796327387"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-08T15:03:54.552Z","publish_time":1720451034552,"_source_registry_name":"default","_cnpm_publish_time":1720451034552},"3.5.0":{"name":"egg-security","version":"3.5.0","engines":{"node":">=14.20.0"},"description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"@eggjs/ip":"^2.0.2","csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.26.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","spy":"^1.0.0","supertest":"^6.3.3"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","_id":"egg-security@3.5.0","gitHead":"ab2153295836c013d9b9311da8ff7060ba6c865f","_nodeVersion":"18.20.3","_npmVersion":"10.7.0","dist":{"shasum":"38f31b28fb712bc8d128c2f957870a7fbaeb8a49","size":24398,"noattachment":false,"key":"/egg-security/-/egg-security-3.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.5.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_3.5.0_1720011627227_0.31076877129621505"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-03T13:00:27.417Z","publish_time":1720011627417,"_source_registry_name":"default","_cnpm_publish_time":1720011627417},"3.4.0":{"name":"egg-security","version":"3.4.0","engines":{"node":">=14.20.0"},"description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"@eggjs/ip":"^2.0.2","csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.26.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","spy":"^1.0.0","supertest":"^6.3.3"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","_id":"egg-security@3.4.0","gitHead":"4711437e7980cca36d4b07ccb44ff6efabcb9241","_nodeVersion":"18.20.3","_npmVersion":"10.7.0","dist":{"shasum":"5139450892be6e413d7081c4b0cd2ce4e6166280","size":24189,"noattachment":false,"key":"/egg-security/-/egg-security-3.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.4.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_3.4.0_1719847529579_0.20147099740664243"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-01T15:25:29.782Z","publish_time":1719847529782,"_source_registry_name":"default","maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_cnpm_publish_time":1719847529782},"3.3.1":{"name":"egg-security","version":"3.3.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"@eggjs/ip":"^2.0.2","csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.15.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","git-contributor":"*","spy":"^1.0.0","supertest":"^6.3.3"},"engines":{"node":">=14.17.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","contributor":"git-contributor"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","_id":"egg-security@3.3.1","gitHead":"3f225df88e987a76a63dd3ea4e9db6e73203e10a","_nodeVersion":"18.20.3","_npmVersion":"10.7.0","dist":{"shasum":"365be82bc266c66cd0c0b9055360d8535d772eb5","size":24615,"noattachment":false,"key":"/egg-security/-/egg-security-3.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.3.1.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_3.3.1_1718181442402_0.8242077299559338"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-06-12T08:37:22.583Z","publish_time":1718181442583,"_source_registry_name":"default","_cnpm_publish_time":1718181442583},"3.3.0":{"name":"egg-security","version":"3.3.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^2.0.1","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.15.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","git-contributor":"*","spy":"^1.0.0","supertest":"^6.3.3"},"engines":{"node":">=14.17.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","contributor":"git-contributor"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","_id":"egg-security@3.3.0","gitHead":"b7d47ec9c80cb5d5bbad434b15a1ab16905f1de1","_nodeVersion":"18.20.3","_npmVersion":"10.7.0","dist":{"shasum":"dce425c772151d3583b2c8dc50d7b456c6a58e9e","size":24605,"noattachment":false,"key":"/egg-security/-/egg-security-3.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.3.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_3.3.0_1716975799870_0.28727435697472203"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-29T09:43:19.999Z","publish_time":1716975799999,"_source_registry_name":"default","_cnpm_publish_time":1716975799999},"3.2.0":{"name":"egg-security","version":"3.2.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.15.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","git-contributor":"*","spy":"^1.0.0","supertest":"^6.3.3"},"engines":{"node":">=14.17.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","contributor":"git-contributor"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","_id":"egg-security@3.2.0","gitHead":"9f469ec0f8952810c157397132f4d301ac5c64fd","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"shasum":"a5b81f53b97ad985ba6a739748a42c9ddb0b7680","size":24606,"noattachment":false,"key":"/egg-security/-/egg-security-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.2.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_3.2.0_1704361739574_0.5462585974658538"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-01-04T09:48:59.744Z","publish_time":1704361739744,"_source_registry_name":"default","_cnpm_publish_time":1704361739744},"3.1.0":{"name":"egg-security","version":"3.1.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.15.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","git-contributor":"*","spy":"^1.0.0","supertest":"^6.3.3"},"engines":{"node":">=14.17.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","contributor":"git-contributor"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"7777aa8d63efa081504bef8e1d9ecb3a3a562273","_id":"egg-security@3.1.0","_nodeVersion":"18.17.0","_npmVersion":"9.6.7","dist":{"shasum":"ff750f1c65eceea53af3f5f16c0699b83e0ff161","size":24218,"noattachment":false,"key":"/egg-security/-/egg-security-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.1.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_3.1.0_1691587506074_0.9767833170526903"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-09T13:25:06.326Z","publish_time":1691587506326,"_source_registry_name":"default","_cnpm_publish_time":1691587506326},"3.0.0":{"name":"egg-security","version":"3.0.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.1.0","matcher":"^4.0.0","methods":"^1.1.2","nanoid":"^3.3.6","platform":"^1.3.4","statuses":"^2.0.1","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^3.15.0","egg-bin":"^6.4.0","egg-mock":"^5.10.6","egg-view-nunjucks":"^2.3.0","eslint":"^8.40.0","eslint-config-egg":"^12.2.1","git-contributor":"*","spy":"^1.0.0","supertest":"^6.3.3"},"engines":{"node":">=14.17.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","contributor":"git-contributor"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"17ccfb5449435306b0a1d5e6977ee9eabb10695c","_id":"egg-security@3.0.0","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"shasum":"522368404b716a699211a1b0c0de6a396ef4168d","size":24138,"noattachment":false,"key":"/egg-security/-/egg-security-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-3.0.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_3.0.0_1683715232724_0.9598241149444708"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-10T10:40:33.067Z","publish_time":1683715233067,"_source_registry_name":"default","_cnpm_publish_time":1683715233067},"2.11.0":{"name":"egg-security","version":"2.11.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^3.3.2","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12, 14, 16","type":"github"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"f74c7dd7f5bb913052fa9b6d5434892b690773a6","_id":"egg-security@2.11.0","_nodeVersion":"16.14.2","_npmVersion":"6.14.16","dist":{"shasum":"c5598941ed09cb8545cbebb88befccb6dc39ce98","size":28102,"noattachment":false,"key":"/egg-security/-/egg-security-2.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.11.0.tgz"},"_npmUser":{"name":"atian25","email":"atian25@qq.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.11.0_1658286012538_0.046929036309405925"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-20T03:00:28.499Z","publish_time":1658286012728,"_cnpm_publish_time":1658286012728},"2.10.1":{"name":"egg-security","version":"2.10.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^3.3.2","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12, 14, 16","type":"github"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"742f3f2b2e2ae79a5ffd2785347c4ffcf16dd2b4","_id":"egg-security@2.10.1","_nodeVersion":"14.19.1","_npmVersion":"6.14.12","dist":{"shasum":"b11df8544aa0422b885d1b6eece25499a5c4a5fa","size":27991,"noattachment":false,"key":"/egg-security/-/egg-security-2.10.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.10.1.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.10.1_1649559645919_0.049344417642649185"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-10T03:00:49.721Z","publish_time":1649559646097,"_cnpm_publish_time":1649559646097},"2.10.0":{"name":"egg-security","version":"2.10.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^3.3.2","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12, 14, 16","type":"github"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"6044cf7b3218aaa2839d1e51997d6a9f1c6fa27f","_id":"egg-security@2.10.0","_nodeVersion":"16.14.2","_npmVersion":"6.14.12","dist":{"shasum":"65abcb105d8ec67c41af4ec9d55942149eb5768b","size":27887,"noattachment":false,"key":"/egg-security/-/egg-security-2.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.10.0.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.10.0_1649130949116_0.6588518531211687"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-05T04:43:38.612Z","publish_time":1649130949440,"_cnpm_publish_time":1649130949440},"2.9.1":{"name":"egg-security","version":"2.9.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^2.0.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12, 14, 16","type":"github"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"ff9fae1e399adeb828c643290729629957de0511","_id":"egg-security@2.9.1","_nodeVersion":"16.14.2","_npmVersion":"6.14.12","dist":{"shasum":"e6b62ec28ccbb85a211192b04ef3c95c33bfd38e","size":27307,"noattachment":false,"key":"/egg-security/-/egg-security-2.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.9.1.tgz"},"_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.9.1_1648546115475_0.8270981003702726"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-29T09:28:47.292Z","publish_time":1648546115622,"_cnpm_publish_time":1648546115622},"2.9.0":{"name":"egg-security","version":"2.9.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^2.0.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"31647057a9373cdc9ed30d25fcc9c2aa3c5163d2","_id":"egg-security@2.9.0","_nodeVersion":"10.16.0","_npmVersion":"6.14.8","dist":{"shasum":"dfa776ef0191964314bdcdf16c90d155275663fa","size":26965,"noattachment":false,"key":"/egg-security/-/egg-security-2.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.9.0.tgz"},"_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"directories":{},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.9.0_1619011240556_0.28581972210166917"},"_hasShrinkwrap":false,"publish_time":1619011240740,"_cnpm_publish_time":1619011240740},"2.8.0":{"name":"egg-security","version":"2.8.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^2.0.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"3d64f0586078c26d2b28bacf3efec9427a9136d4","_id":"egg-security@2.8.0","_nodeVersion":"10.16.0","_npmVersion":"6.12.0","dist":{"shasum":"07b450c1022f5a52370e52cc68a166bb5c32f6c4","size":26746,"noattachment":false,"key":"/egg-security/-/egg-security-2.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.8.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.8.0_1586966442615_0.08644654263733242"},"_hasShrinkwrap":false,"publish_time":1586966442732,"_cnpm_publish_time":1586966442732},"2.7.1":{"name":"egg-security","version":"2.7.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^2.0.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"8c4639e36538deca2dd8fb845d95297be79f84ef","_id":"egg-security@2.7.1","_nodeVersion":"12.13.0","_npmVersion":"6.11.3","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"4b62513203e818ddda67ac3d1cc313c764a7a9b7","size":26272,"noattachment":false,"key":"/egg-security/-/egg-security-2.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.7.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.7.1_1573702925970_0.33219855698181133"},"_hasShrinkwrap":false,"publish_time":1573702926140,"_cnpm_publish_time":1573702926140},"2.7.0":{"name":"egg-security","version":"2.7.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^2.0.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"1dee165c5388b9085d4c5752d1b179607173e6f0","_id":"egg-security@2.7.0","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"shasum":"89ea8ebd10edaf1c9c5ea21bff488cfd4ba0d0d5","size":26190,"noattachment":false,"key":"/egg-security/-/egg-security-2.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.7.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmUser":{"name":"atian25","email":"atian25@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.7.0_1571964143525_0.2233789293184827"},"_hasShrinkwrap":false,"publish_time":1571964143648,"_cnpm_publish_time":1571964143648},"1.14.0":{"name":"egg-security","version":"1.14.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.8","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.3"},"devDependencies":{"autod":"^2.9.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.7.0","egg-bin":"^4.1.0","egg-ci":"^1.8.0","egg-mock":"^3.9.0","egg-view-nunjucks":"^2.1.3","eslint":"^4.3.0","eslint-config-egg":"^5.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 8, 10, 12"},"publishConfig":{"tag":"latest-1"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","readmeFilename":"README.md","gitHead":"c327108024e721b1e14ae976fe6630b04e2fba75","_id":"egg-security@1.14.0","_npmVersion":"6.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"wanghx","email":"whxaxes@gmail.com"},"dist":{"shasum":"b6279c64140961b394a580138c6c017b55874bb4","size":23067,"noattachment":false,"key":"/egg-security/-/egg-security-1.14.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.14.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_1.14.0_1565338193385_0.7198876015308524"},"_hasShrinkwrap":false,"publish_time":1565338193548,"_cnpm_publish_time":1565338193548},"2.6.1":{"name":"egg-security","version":"2.6.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^2.0.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"94fa49964a776e3d9977e66ff8b82329f519e5d9","_id":"egg-security@2.6.1","_npmVersion":"6.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"wanghx","email":"whxaxes@gmail.com"},"dist":{"shasum":"c97a9c07166b64fb537a5de52eb2d98a29b4128a","size":25282,"noattachment":false,"key":"/egg-security/-/egg-security-2.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.6.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.6.1_1565336146656_0.15377054610289287"},"_hasShrinkwrap":false,"publish_time":1565336146785,"_cnpm_publish_time":1565336146785},"2.6.0":{"name":"egg-security","version":"2.6.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^2.0.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","git-contributor":"^1.0.10","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod","contributor":"git-contributor"},"ci":{"version":"8, 10, 12"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"2e30af890cc78dda59d7773fcee668490ecb8c6c","_id":"egg-security@2.6.0","_npmVersion":"6.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"wanghx","email":"whxaxes@gmail.com"},"dist":{"shasum":"cbefc5cf9db8d529bd2e287d88c9f3195d7cf73d","size":25220,"noattachment":false,"key":"/egg-security/-/egg-security-2.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.6.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.6.0_1565318766728_0.47902489365011514"},"_hasShrinkwrap":false,"publish_time":1565318766859,"_cnpm_publish_time":1565318766859},"2.5.0":{"name":"egg-security","version":"2.5.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^4.1.1","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^2.0.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^1.0.3"},"devDependencies":{"autod":"^3.0.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^2.16.0","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^5.15.1","eslint-config-egg":"^7.1.0","mz-modules":"^2.1.0","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 10, 11"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"612d8783ec8368e8263b24e2ed3cda02dc591d33","_id":"egg-security@2.5.0","_npmVersion":"6.5.0","_nodeVersion":"10.15.2","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"9fbbc322082c8c0159d553f834979d7c717be580","size":23818,"noattachment":false,"key":"/egg-security/-/egg-security-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.5.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.5.0_1552010176335_0.7369662612989434"},"_hasShrinkwrap":false,"publish_time":1552010176482,"_cnpm_publish_time":1552010176482},"2.4.3":{"name":"egg-security","version":"2.4.3","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^1.1.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 10"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"f7445d043039d27dab10bd4518bad2df7234894b","_id":"egg-security@2.4.3","_npmVersion":"5.8.0","_nodeVersion":"10.3.0","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"7296295fd255b869ef361b03facc2ca5a472357a","size":23674,"noattachment":false,"key":"/egg-security/-/egg-security-2.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.4.3.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.4.3_1550543730103_0.454508361209647"},"_hasShrinkwrap":false,"publish_time":1550543730297,"_cnpm_publish_time":1550543730297},"2.4.2":{"name":"egg-security","version":"2.4.2","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^1.1.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 10"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"44c6e7b074116490f9b9a7e610f260e669425bb9","_id":"egg-security@2.4.2","_npmVersion":"5.8.0","_nodeVersion":"8.11.1","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"1172be9f78b123c750ff10473a80fe5ff536cc39","size":23565,"noattachment":false,"key":"/egg-security/-/egg-security-2.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.4.2.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.4.2_1546598627936_0.7113088141107113"},"_hasShrinkwrap":false,"publish_time":1546598628040,"_cnpm_publish_time":1546598628040},"2.4.1":{"name":"egg-security","version":"2.4.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^1.1.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 10"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"6ba702416a72479b1c22701a0a257fe91804f3b4","_id":"egg-security@2.4.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"atian25","email":"atian25@qq.com"},"dist":{"shasum":"6e99b76b9b88327cefbf4c650d371243dd0a47e8","size":23475,"noattachment":false,"key":"/egg-security/-/egg-security-2.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.4.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.4.1_1542250789708_0.48210756445747127"},"_hasShrinkwrap":false,"publish_time":1542250789855,"_cnpm_publish_time":1542250789855},"2.4.0":{"name":"egg-security","version":"2.4.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^1.1.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint .","test":"npm run lint -- --fix && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 10"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"edc94f9df718c42f86a0c3f5fb802b124e1ab116","_id":"egg-security@2.4.0","_npmVersion":"5.8.0","_nodeVersion":"8.11.1","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"8bab9ac82069477b08145744d4ff29d552776df8","size":23438,"noattachment":false,"key":"/egg-security/-/egg-security-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.4.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.4.0_1535108719048_0.9107276350486455"},"_hasShrinkwrap":false,"publish_time":1535108719169,"_cnpm_publish_time":1535108719169},"2.3.1":{"name":"egg-security","version":"2.3.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^1.1.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 10"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"747248b90bdc26c87255342162a69b3f961af687","_id":"egg-security@2.3.1","_npmVersion":"5.8.0","_nodeVersion":"8.11.1","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"759cc80fe3fbf527714451f5601d7b8b725ebbd8","size":23152,"noattachment":false,"key":"/egg-security/-/egg-security-2.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.3.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.3.1_1534399751200_0.3814682455846248"},"_hasShrinkwrap":false,"publish_time":1534399751290,"_cnpm_publish_time":1534399751290},"2.3.0":{"name":"egg-security","version":"2.3.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","matcher":"^1.1.1","methods":"^1.1.2","nanoid":"^1.1.1","platform":"^1.3.4","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 10"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"156201061ee0567d14fdcb928624b5896cff1a79","_id":"egg-security@2.3.0","_npmVersion":"5.8.0","_nodeVersion":"8.11.1","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"56bbbe8a06d85d127641db282037042a4bf1092d","size":22954,"noattachment":false,"key":"/egg-security/-/egg-security-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.3.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.3.0_1534215871292_0.4415985717275106"},"_hasShrinkwrap":false,"publish_time":1534215871380,"_cnpm_publish_time":1534215871380},"1.13.2":{"name":"egg-security","version":"1.13.2","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.8","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.3"},"devDependencies":{"autod":"^2.9.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.7.0","egg-bin":"^4.1.0","egg-ci":"^1.8.0","egg-mock":"^3.9.0","egg-view-nunjucks":"^2.1.3","eslint":"^4.3.0","eslint-config-egg":"^5.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 8, 10"},"publishConfig":{"tag":"latest-1"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","readmeFilename":"README.md","gitHead":"c81c5b597b57697c7cdbd3b906f43ee2b4fbab42","_id":"egg-security@1.13.2","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"aa0a358e8f57e1550fb292ed3a2ca76f7315ade2","size":22317,"noattachment":false,"key":"/egg-security/-/egg-security-1.13.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.13.2.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_1.13.2_1531279709678_0.7131929623201114"},"_hasShrinkwrap":false,"publish_time":1531279709744,"_cnpm_publish_time":1531279709744},"2.2.3":{"name":"egg-security","version":"2.2.3","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","statuses":"^1.5.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 10"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"ca205990a63f6d37d07ccc5aee643629d1374736","_id":"egg-security@2.2.3","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"7fbf2660ba316be1b90d4e7053011534d31244e5","size":22225,"noattachment":false,"key":"/egg-security/-/egg-security-2.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.2.3.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.2.3_1531278746576_0.3280045860855927"},"_hasShrinkwrap":false,"publish_time":1531278746637,"_cnpm_publish_time":1531278746637},"1.13.1":{"name":"egg-security","version":"1.13.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.8","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.3"},"devDependencies":{"autod":"^2.9.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.7.0","egg-bin":"^4.1.0","egg-ci":"^1.8.0","egg-mock":"^3.9.0","egg-view-nunjucks":"^2.1.3","eslint":"^4.3.0","eslint-config-egg":"^5.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 8"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"139191dd5b6421195d988ee0033cccd27db2a989","_id":"egg-security@1.13.1","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"3c2430fc3f24e293ce2d78f0fcdb09591e7746e9","size":22185,"noattachment":false,"key":"/egg-security/-/egg-security-1.13.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.13.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_1.13.1_1523502223010_0.1586827359084153"},"_hasShrinkwrap":false,"publish_time":1523502224272,"_cnpm_publish_time":1523502224272},"2.2.2":{"name":"egg-security","version":"2.2.2","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 9"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"bef87dc8930f3ae9deb2583a368798916f5f7ba6","_id":"egg-security@2.2.2","_npmVersion":"5.3.0","_nodeVersion":"8.9.1","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"b6b601578cfa5f84035e59aca3f7412af1c063ca","size":18483,"noattachment":false,"key":"/egg-security/-/egg-security-2.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.2.2.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.2.2_1523502115145_0.8070156002456286"},"_hasShrinkwrap":false,"publish_time":1523502115277,"_cnpm_publish_time":1523502115277},"2.2.1":{"name":"egg-security","version":"2.2.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 9"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"b6ebf6028e08f14d4ea6c05fd69b433d0338b7be","_id":"egg-security@2.2.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"popomore","email":"sakura9515@gmail.com"},"dist":{"shasum":"7c03a5c3ee4fdba74efb6cf985280d470bed111e","size":21865,"noattachment":false,"key":"/egg-security/-/egg-security-2.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.2.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.2.1_1522246523343_0.6751211218202517"},"_hasShrinkwrap":false,"publish_time":1522246523458,"_cnpm_publish_time":1522246523458},"2.2.0":{"name":"egg-security","version":"2.2.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^4.0.0","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 9"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"21ba3591f1d866caacd299893f5f774f40045a4b","_id":"egg-security@2.2.0","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"88b22f2c76aa400ee8fdabb09c949e1675fc931a","size":21799,"noattachment":false,"key":"/egg-security/-/egg-security-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.2.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.2.0_1522133938288_0.6306676738360619"},"_hasShrinkwrap":false,"publish_time":1522133938446,"_cnpm_publish_time":1522133938446},"1.13.0":{"name":"egg-security","version":"1.13.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.8","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","ip":"^1.1.5","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.3"},"devDependencies":{"autod":"^2.9.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.7.0","egg-bin":"^4.1.0","egg-ci":"^1.8.0","egg-mock":"^3.9.0","egg-view-nunjucks":"^2.1.3","eslint":"^4.3.0","eslint-config-egg":"^5.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 8"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"4cb9fe49eb809711ad7b287df887eab06c25d403","_id":"egg-security@1.13.0","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"4b39a512545c5e67b158518d3429fb44e6abb1f9","size":21955,"noattachment":false,"key":"/egg-security/-/egg-security-1.13.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.13.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_1.13.0_1522133879677_0.7170736763688985"},"_hasShrinkwrap":false,"publish_time":1522133879720,"_cnpm_publish_time":1522133879720},"2.1.0":{"name":"egg-security","version":"2.1.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.0.0","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 9"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"119725d926bfcf4d45030459a81b1e834b713fdc","_id":"egg-security@2.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"b098d3ae1a2d0b23195d728b1499dfcd062fe913","size":20639,"noattachment":false,"key":"/egg-security/-/egg-security-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.1.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.1.0_1521015392867_0.21272813272802593"},"_hasShrinkwrap":false,"publish_time":1521015392923,"_cnpm_publish_time":1521015392923},"1.12.2":{"name":"egg-security","version":"1.12.2","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.8","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.3"},"devDependencies":{"autod":"^2.9.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.7.0","egg-bin":"^4.1.0","egg-ci":"^1.8.0","egg-mock":"^3.9.0","egg-view-nunjucks":"^2.1.3","eslint":"^4.3.0","eslint-config-egg":"^5.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 8"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"e294f8e49b62458b451f6db29d6f34412e9861dd","_id":"egg-security@1.12.2","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"0777b7f6db00276a570cf799e5d263f426b26d77","size":20811,"noattachment":false,"key":"/egg-security/-/egg-security-1.12.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.12.2.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_1.12.2_1521010891237_0.6971835533583164"},"_hasShrinkwrap":false,"publish_time":1521010891313,"_cnpm_publish_time":1521010891313},"2.0.1":{"name":"egg-security","version":"2.0.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.0.0","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 9"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"76bd83fbe96e7e81a3a0a61d182c5d7e480c7856","_id":"egg-security@2.0.1","_shasum":"df2b576ff618376018ee42f09bd6ec18b65e04cd","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"jtyjty99999","email":"jtyjty99999@126.com"},"dist":{"shasum":"df2b576ff618376018ee42f09bd6ec18b65e04cd","size":16684,"noattachment":false,"key":"/egg-security/-/egg-security-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.0.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security_2.0.1_1521010133390_0.026259692850327143"},"_hasShrinkwrap":false,"publish_time":1521010133486,"_cnpm_publish_time":1521010133486},"2.0.0":{"name":"egg-security","version":"2.0.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^3.1.0","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^4.0.0","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.4"},"devDependencies":{"autod":"^2.10.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"next","egg-bin":"^4.3.5","egg-ci":"^1.8.0","egg-mock":"^3.13.1","egg-view-nunjucks":"^2.1.4","eslint":"^4.10.0","eslint-config-egg":"^5.1.1","pedding":"^1.1.0","rimraf":"^2.6.2","should":"^13.1.3","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=8.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"8, 9"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"e341fc3caf4781606c7e081d243579745aa874ed","_id":"egg-security@2.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"6362e2dcc0d4927b40dbcd9c8b55a62a89373479","size":20150,"noattachment":false,"key":"/egg-security/-/egg-security-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-2.0.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security-2.0.0.tgz_1510288185684_0.132418654859066"},"directories":{},"publish_time":1510288185835,"_hasShrinkwrap":false,"_cnpm_publish_time":1510288185835},"1.12.1":{"name":"egg-security","version":"1.12.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.8","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","type-is":"^1.6.15","xss":"^0.3.3"},"devDependencies":{"autod":"^2.9.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.7.0","egg-bin":"^4.1.0","egg-ci":"^1.8.0","egg-mock":"^3.9.0","egg-view-nunjucks":"^2.1.3","eslint":"^4.3.0","eslint-config-egg":"^5.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"3fa64e1bec32ed5258c11b0211b3143a60999967","_id":"egg-security@1.12.1","_npmVersion":"5.3.0","_nodeVersion":"8.0.0","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"5e801ebe1f8a615fb5c6c43233b41c2a7025f24b","size":17444,"noattachment":false,"key":"/egg-security/-/egg-security-1.12.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.12.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security-1.12.1.tgz_1501739733058_0.022372967330738902"},"directories":{},"publish_time":1501739733970,"_hasShrinkwrap":false,"_cnpm_publish_time":1501739733970},"1.12.0":{"name":"egg-security","version":"1.12.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","optionalDependencies":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.8","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.8.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.6.0","egg-bin":"^4.0.5","egg-ci":"^1.8.0","egg-mock":"^3.8.0","egg-view-nunjucks":"^2.1.3","eslint":"^4.2.0","eslint-config-egg":"^5.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"13381db03340e8990543d4827d35387aa0f2f104","_id":"egg-security@1.12.0","_shasum":"8f83231f54c2a1c493f04e9d60f5aefc3577ba7e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"8.0.0","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"8f83231f54c2a1c493f04e9d60f5aefc3577ba7e","size":17258,"noattachment":false,"key":"/egg-security/-/egg-security-1.12.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.12.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security-1.12.0.tgz_1500432074518_0.2911216716747731"},"directories":{},"publish_time":1500432074689,"_hasShrinkwrap":false,"_cnpm_publish_time":1500432074689},"1.11.0":{"name":"egg-security","version":"1.11.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.8","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.8.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.4.0","egg-bin":"^3.4.2","egg-ci":"^1.7.0","egg-mock":"^3.7.2","egg-view-nunjucks":"^2.1.2","eslint":"^4.0.0","eslint-config-egg":"^4.2.1","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"4db1186d8dd66e2040442713a738e5c8594fd538","_id":"egg-security@1.11.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"66f3600e31edb7f30d4438e82a7b6c54bed3dbdd","size":17160,"noattachment":false,"key":"/egg-security/-/egg-security-1.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.11.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security-1.11.0.tgz_1497866586861_0.7268128690775484"},"directories":{},"publish_time":1497866586964,"_hasShrinkwrap":false,"_cnpm_publish_time":1497866586964},"1.10.2":{"name":"egg-security","version":"1.10.2","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.8.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.2.1","egg-bin":"^3.3.2","egg-ci":"^1.6.0","egg-mock":"^3.5.0","egg-view-nunjucks":"^2.1.0","eslint":"^3.19.0","eslint-config-egg":"^4.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"006298e63791fc3f9d4194953c3e6d171b58f3d5","_id":"egg-security@1.10.2","_npmVersion":"5.0.3","_nodeVersion":"8.1.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"4b265defb9ef15e86d03d72a72efe58d20d8ba6e","size":16792,"noattachment":false,"key":"/egg-security/-/egg-security-1.10.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.10.2.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security-1.10.2.tgz_1497432921605_0.8310426098760217"},"directories":{},"publish_time":1497432921730,"_cnpm_publish_time":1497432921730,"_hasShrinkwrap":false},"1.10.1":{"name":"egg-security","version":"1.10.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.8.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.2.1","egg-bin":"^3.3.2","egg-ci":"^1.6.0","egg-mock":"^3.5.0","egg-view-nunjucks":"^2.1.0","eslint":"^3.19.0","eslint-config-egg":"^4.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"7aa4dc3e5a60e2245a1a9efd8e01cea7b312b108","_id":"egg-security@1.10.1","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"popomore","email":"sakura9515@gmail.com"},"dist":{"shasum":"5b3024fcbf9a393be4a5469734023748c92d7e84","size":16677,"noattachment":false,"key":"/egg-security/-/egg-security-1.10.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.10.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/egg-security-1.10.1.tgz_1496586362653_0.22590394597500563"},"directories":{},"publish_time":1496586363179,"_cnpm_publish_time":1496586363179,"_hasShrinkwrap":false},"1.10.0":{"name":"egg-security","version":"1.10.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.6","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.1","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.4","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.8.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","egg":"^1.2.1","egg-bin":"^3.3.2","egg-ci":"^1.6.0","egg-mock":"^3.5.0","egg-view-nunjucks":"^2.1.0","eslint":"^3.19.0","eslint-config-egg":"^4.0.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"dd9e3baa4c6e91ac3b09993f70c3b2f415174d4a","_id":"egg-security@1.10.0","_shasum":"ee1dff99132ca8ef403bccefdfade322c76997ef","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.10.2","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"ee1dff99132ca8ef403bccefdfade322c76997ef","size":16713,"noattachment":false,"key":"/egg-security/-/egg-security-1.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.10.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/egg-security-1.10.0.tgz_1494260608150_0.4248884879052639"},"directories":{},"publish_time":1494260611523,"_hasShrinkwrap":false,"_cnpm_publish_time":1494260611523},"1.9.0":{"name":"egg-security","version":"1.9.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.6","debug":"^2.6.3","delegates":"^1.0.0","egg-path-matching":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.5.1","methods":"^1.1.2","platform":"^1.3.3","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.8.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","egg":"^1.0.0","egg-bin":"^3.1.0","egg-ci":"^1.6.0","egg-mock":"^3.2.0","egg-view-nunjucks":"^2.0.0","eslint":"^3.18.0","eslint-config-egg":"^3.2.0","pedding":"^1.1.0","rimraf":"^2.6.1","should":"^11.2.1","should-http":"^0.1.1","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"50608bfe2787aca398679a123627ee7658e6d3a0","_id":"egg-security@1.9.0","_shasum":"5dd7747dedec98e5aecc110c653e5584bab274e8","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"},"dist":{"shasum":"5dd7747dedec98e5aecc110c653e5584bab274e8","size":16545,"noattachment":false,"key":"/egg-security/-/egg-security-1.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.9.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-1.9.0.tgz_1490673482772_0.48439484066329896"},"directories":{},"publish_time":1490673483117,"_cnpm_publish_time":1490673483117,"_hasShrinkwrap":false},"1.8.0":{"name":"egg-security","version":"1.8.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.4","debug":"^2.6.1","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.5.1","methods":"^1.1.2","path-to-regexp":"^1.7.0","platform":"^1.3.3","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","egg":"^0.12.0","egg-bin":"^2.2.0","egg-ci":"^1.1.0","egg-mock":"^3.0.0","egg-view-nunjucks":"^1.0.0","eslint":"^3.15.0","eslint-config-egg":"^3.2.0","pedding":"^1.1.0","rimraf":"^2.5.4","should":"^11.2.0","should-http":"^0.1.0","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"35c0c9d795163ea92384c296b3776d90e507b64d","_id":"egg-security@1.8.0","_shasum":"be34221e14b8270ea579eacadd14cf879da6c3a5","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.9.1","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"be34221e14b8270ea579eacadd14cf879da6c3a5","size":16843,"noattachment":false,"key":"/egg-security/-/egg-security-1.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.8.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-1.8.0.tgz_1488887142893_0.5538264370989054"},"directories":{},"publish_time":1488887143125,"_cnpm_publish_time":1488887143125,"_hasShrinkwrap":false},"1.7.0":{"name":"egg-security","version":"1.7.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.4","debug":"^2.6.1","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.5.1","methods":"^1.1.2","path-to-regexp":"^1.7.0","platform":"^1.3.3","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","egg":"^0.12.0","egg-bin":"^2.2.0","egg-ci":"^1.1.0","egg-mock":"^3.0.0","egg-view-nunjucks":"^1.0.0","eslint":"^3.15.0","eslint-config-egg":"^3.2.0","pedding":"^1.1.0","rimraf":"^2.5.4","should":"^11.2.0","should-http":"^0.1.0","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"814038bf38c58d318f77cc1ad71c79dde8acade2","_id":"egg-security@1.7.0","_shasum":"a653eedcb0a4b7ca65b27a0b908e487d593401f9","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"},"dist":{"shasum":"a653eedcb0a4b7ca65b27a0b908e487d593401f9","size":16658,"noattachment":false,"key":"/egg-security/-/egg-security-1.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.7.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/egg-security-1.7.0.tgz_1488872179153_0.6593118871096522"},"directories":{},"publish_time":1488872181086,"_cnpm_publish_time":1488872181086,"_hasShrinkwrap":false},"1.6.0":{"name":"egg-security","version":"1.6.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.4","debug":"^2.6.1","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.5.1","methods":"^1.1.2","path-to-regexp":"^1.7.0","platform":"^1.3.3","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","egg":"^0.12.0","egg-bin":"^2.2.0","egg-ci":"^1.1.0","egg-mock":"^3.0.0","egg-view-nunjucks":"^1.0.0","eslint":"^3.15.0","eslint-config-egg":"^3.2.0","pedding":"^1.1.0","rimraf":"^2.5.4","should":"^11.2.0","should-http":"^0.1.0","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"84c41896b69d8e2fd057f957315f14e6aa019a25","_id":"egg-security@1.6.0","_shasum":"ad3bfa63f536fa9da1230e60bd27fe19efe51d6d","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"popomore","email":"sakura9515@gmail.com"},"dist":{"shasum":"ad3bfa63f536fa9da1230e60bd27fe19efe51d6d","size":16573,"noattachment":false,"key":"/egg-security/-/egg-security-1.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.6.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-1.6.0.tgz_1487577734535_0.029011636739596725"},"directories":{},"publish_time":1487577734756,"_cnpm_publish_time":1487577734756,"_hasShrinkwrap":false},"1.5.0":{"name":"egg-security","version":"1.5.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","eggPlugin","egg-plugin","security"],"dependencies":{"csrf":"^3.0.4","debug":"^2.6.1","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.5.1","methods":"^1.1.2","path-to-regexp":"^1.7.0","platform":"^1.3.3","rndm":"^1.2.0","xss":"^0.3.3"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","egg":"^0.12.0","egg-bin":"^2.2.0","egg-ci":"^1.1.0","egg-mock":"^3.0.0","egg-view-nunjucks":"^1.0.0","eslint":"^3.15.0","eslint-config-egg":"^3.2.0","pedding":"^1.1.0","rimraf":"^2.5.4","should":"^11.2.0","should-http":"^0.1.0","spy":"^1.0.0","supertest":"^3.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"f3b1d2ead7ecd864569b74bb29cbb67dc857359d","_id":"egg-security@1.5.0","_shasum":"75260d1868112941ff44533158632403272b3fe2","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"jtyjty99999","email":"jtyjty99999@126.com"},"dist":{"shasum":"75260d1868112941ff44533158632403272b3fe2","size":16424,"noattachment":false,"key":"/egg-security/-/egg-security-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.5.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-1.5.0.tgz_1487309577614_0.5784413465298712"},"directories":{},"publish_time":1487309577853,"_cnpm_publish_time":1487309577853,"_hasShrinkwrap":false},"1.4.0":{"name":"egg-security","version":"1.4.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"csrf":"^3.0.4","debug":"^2.2.0","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.4.0","koa-csrf":"^2.5.0","methods":"^1.1.2","path-to-regexp":"^1.5.3","platform":"^1.3.1","rndm":"^1.2.0","tsscmp":"^1.0.5","utility":"^1.8.0","xss":"^0.2.13"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","egg":"~0.8.0","egg-bin":"1","egg-ci":"1","egg-mock":"^0.0.4","egg-view-nunjucks":"~0.3.0","eslint":"3","eslint-config-egg":"3","pedding":"^1.0.0","rimraf":"^2.5.2","should":"^11.1.0","should-http":"^0.0.4","spy":"0","supertest":"^2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"6, 7"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"cac081b9515a609d381ba2d6917956ad0c748b5d","_id":"egg-security@1.4.0","_shasum":"efd03f6abee3e45000cff35867a1f63c30860ae8","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"efd03f6abee3e45000cff35867a1f63c30860ae8","size":16360,"noattachment":false,"key":"/egg-security/-/egg-security-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.4.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/egg-security-1.4.0.tgz_1485065027515_0.7807325122412294"},"directories":{},"publish_time":1485065029478,"_cnpm_publish_time":1485065029478,"_hasShrinkwrap":false},"1.3.0":{"name":"egg-security","version":"1.3.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.4.0","koa-csrf":"^2.5.0","methods":"^1.1.2","path-to-regexp":"^1.5.3","platform":"^1.3.1","rndm":"^1.2.0","tsscmp":"^1.0.5","utility":"^1.8.0","xss":"^0.2.13"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","egg":"~0.1.0","egg-bin":"1","egg-ci":"1","egg-mock":"^0.0.4","egg-view-nunjucks":"~0.3.0","eslint":"3","eslint-config-egg":"3","pedding":"^1.0.0","rimraf":"^2.5.2","should":"^11.1.0","should-http":"^0.0.4","spy":"0","supertest":"^2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"86706a3ed8a6d94a0e9d963bddd0baeea422fcc8","_id":"egg-security@1.3.0","_shasum":"46c9c7e54ab75cc892ba62348dd499aaebdc5309","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"},"dist":{"shasum":"46c9c7e54ab75cc892ba62348dd499aaebdc5309","size":15269,"noattachment":false,"key":"/egg-security/-/egg-security-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.3.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-1.3.0.tgz_1482907912034_0.7415590591263026"},"directories":{},"publish_time":1482907912279,"_cnpm_publish_time":1482907912279,"_hasShrinkwrap":false},"1.2.1":{"name":"egg-security","version":"1.2.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.4.0","koa-csrf":"^2.5.0","methods":"^1.1.2","path-to-regexp":"^1.5.3","platform":"^1.3.1","rndm":"^1.2.0","tsscmp":"^1.0.5","utility":"^1.8.0","xss":"^0.2.13"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","egg":"~0.1.0","egg-bin":"1","egg-ci":"1","egg-mock":"^0.0.4","egg-view-nunjucks":"~0.3.0","eslint":"3","eslint-config-egg":"3","multiline":"~1.0.2","pedding":"^1.0.0","rimraf":"^2.5.2","should":"^11.1.0","should-http":"^0.0.4","spy":"0","supertest":"^2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"b52e3b4b9e69513883c7d6ee417fc30c50dc56b8","_id":"egg-security@1.2.1","_shasum":"cd64feb45920ce179284588b3875c0c344f047b3","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.4.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"cd64feb45920ce179284588b3875c0c344f047b3","size":15222,"noattachment":false,"key":"/egg-security/-/egg-security-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.2.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/egg-security-1.2.1.tgz_1472730887067_0.7323885939549655"},"directories":{},"publish_time":1472730889068,"_cnpm_publish_time":1472730889068,"_hasShrinkwrap":false},"1.2.0":{"name":"egg-security","version":"1.2.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.4.0","koa-csrf":"^2.5.0","methods":"^1.1.2","path-to-regexp":"^1.5.3","platform":"^1.3.1","rndm":"^1.2.0","tsscmp":"^1.0.5","utility":"^1.8.0","xss":"^0.2.13"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","egg":"~0.1.0","egg-bin":"1","egg-ci":"1","egg-mock":"^0.0.4","egg-view-nunjucks":"~0.3.0","eslint":"3","eslint-config-egg":"3","multiline":"~1.0.2","pedding":"^1.0.0","rimraf":"^2.5.2","should":"^11.1.0","should-http":"^0.0.4","spy":"0","supertest":"^2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"7665a1a91bb50b0a744ff2bcc29d9727b7a2c9a3","_id":"egg-security@1.2.0","_shasum":"f21e22de87721172fccdd8aff0cb73c4d0daf78f","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.4.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"f21e22de87721172fccdd8aff0cb73c4d0daf78f","size":15129,"noattachment":false,"key":"/egg-security/-/egg-security-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.2.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/egg-security-1.2.0.tgz_1472658901653_0.2943476652726531"},"directories":{},"publish_time":1472658903582,"_cnpm_publish_time":1472658903582,"_hasShrinkwrap":false},"1.1.0":{"name":"egg-security","version":"1.1.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.4.0","koa-csrf":"^2.5.0","methods":"^1.1.2","path-to-regexp":"^1.5.3","platform":"^1.3.1","rndm":"^1.2.0","tsscmp":"^1.0.5","utility":"^1.8.0","xss":"^0.2.13"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","egg":"~0.1.0","egg-bin":"1","egg-ci":"1","egg-mock":"^0.0.4","egg-view-nunjucks":"~0.2.0","eslint":"3","eslint-config-egg":"3","multiline":"~1.0.2","pedding":"^1.0.0","rimraf":"^2.5.2","should":"^11.1.0","should-http":"^0.0.4","spy":"0","supertest":"^2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"fd03e5086672407089fb6a4edd750b6631ed9a7b","_id":"egg-security@1.1.0","_shasum":"e74c6f11e082f0e664e867336f5171fee71a8e8e","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.4.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"e74c6f11e082f0e664e867336f5171fee71a8e8e","size":15050,"noattachment":false,"key":"/egg-security/-/egg-security-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.1.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-1.1.0.tgz_1472618882376_0.33201373857446015"},"directories":{},"publish_time":1472618884449,"_cnpm_publish_time":1472618884449,"_hasShrinkwrap":false},"1.0.3":{"name":"egg-security","version":"1.0.3","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.4.0","koa-csrf":"^2.5.0","methods":"^1.1.2","path-to-regexp":"^1.5.3","platform":"^1.3.1","rndm":"^1.2.0","tsscmp":"^1.0.5","utility":"^1.8.0","xss":"^0.2.13"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","egg":"~0.1.0","egg-bin":"1","egg-ci":"1","egg-mock":"^0.0.4","egg-view-nunjucks":"~0.2.0","eslint":"3","eslint-config-egg":"3","multiline":"~1.0.2","pedding":"^1.0.0","rimraf":"^2.5.2","should":"^11.1.0","should-http":"^0.0.4","spy":"0","supertest":"^2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"d42cbc3008c8477402a4b5b8e034b08c0f39dd56","_id":"egg-security@1.0.3","_shasum":"a493f639c51f479557fcbf459c91379b673f32ac","_from":".","_npmVersion":"3.10.3","_nodeVersion":"4.4.7","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"dist":{"shasum":"a493f639c51f479557fcbf459c91379b673f32ac","size":16144,"noattachment":false,"key":"/egg-security/-/egg-security-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.0.3.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-1.0.3.tgz_1472559465281_0.2937782327644527"},"directories":{},"publish_time":1472559467189,"_cnpm_publish_time":1472559467189,"_hasShrinkwrap":false},"1.0.2":{"name":"egg-security","version":"1.0.2","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.4.0","koa-csrf":"^2.5.0","methods":"^1.1.2","path-to-regexp":"^1.5.3","platform":"^1.3.1","rndm":"^1.2.0","tsscmp":"^1.0.5","utility":"^1.8.0","xss":"^0.2.13"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","egg":"~0.1.0","egg-bin":"1","egg-ci":"1","egg-mock":"^0.0.4","egg-view-nunjucks":"~0.2.0","eslint":"3","eslint-config-egg":"3","multiline":"~1.0.2","pedding":"^1.0.0","rimraf":"^2.5.2","should":"^11.1.0","should-http":"^0.0.4","spy":"0","supertest":"^2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"4a460469a563d0473616d3ca2382b3ec8c11b5e2","_id":"egg-security@1.0.2","_shasum":"e54f44613d24cff11eb0824c733cb02281880088","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.4.0","_npmUser":{"name":"fengmk2","email":"fengmk2@gmail.com"},"dist":{"shasum":"e54f44613d24cff11eb0824c733cb02281880088","size":16129,"noattachment":false,"key":"/egg-security/-/egg-security-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.0.2.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-1.0.2.tgz_1472470390861_0.19235816574655473"},"directories":{},"publish_time":1472470392955,"_cnpm_publish_time":1472470392955,"_hasShrinkwrap":false},"1.0.1":{"name":"egg-security","version":"1.0.1","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"^1.0.0","escape-html":"^1.0.3","extend":"^3.0.0","koa-compose":"^2.4.0","koa-csrf":"^2.5.0","methods":"^1.1.2","path-to-regexp":"^1.5.3","platform":"^1.3.1","rndm":"^1.2.0","tsscmp":"^1.0.5","utility":"^1.8.0","xss":"^0.2.13"},"devDependencies":{"autod":"^2.7.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","egg":"~0.1.0","egg-bin":"1","egg-ci":"1","egg-mock":"^0.0.4","egg-view-nunjucks":"~0.2.0","eslint":"3","eslint-config-egg":"3","multiline":"~1.0.2","pedding":"^1.0.0","rimraf":"^2.5.2","should":"^11.1.0","should-http":"^0.0.4","spy":"0","supertest":"^2.0.0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","gitHead":"e169fb6422806dc5f5eab08ebfe102ff77159750","_id":"egg-security@1.0.1","_shasum":"dfea7476b5b0cb165d72cb8d843003cc67a8d7b9","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"popomore","email":"sakura9515@gmail.com"},"dist":{"shasum":"dfea7476b5b0cb165d72cb8d843003cc67a8d7b9","size":16046,"noattachment":false,"key":"/egg-security/-/egg-security-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.0.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/egg-security-1.0.1.tgz_1471763183072_0.9964260994456708"},"directories":{},"publish_time":1471763184596,"_cnpm_publish_time":1471763184596,"_hasShrinkwrap":false},"1.0.0":{"name":"egg-security","version":"1.0.0","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"~0.1.0","escape-html":"~1.0.3","extend":"~3.0.0","koa-compose":"~2.3.0","koa-csrf":"~2.4.0","methods":"~1.1.1","path-to-regexp":"~1.2.1","platform":"~1.3.0","rndm":"~1.1.1","tsscmp":"^1.0.2","url-pattern":"~0.6.0","utility":"~1.5.0","xss":"~0.2.7"},"devDependencies":{"autod":"2","beautify-benchmark":"~0.2.4","benchmark":"~1.0.0","egg":"0.0.6","egg-bin":"1","egg-ci":"1","egg-mock":"0.0.2","egg-view-nunjucks":"~0.1.0","eslint":"3","eslint-config-egg":"3","multiline":"~1.0.2","pedding":"^1.0.0","rimraf":"^2.5.2","should":"8","should-http":"0","spy":"0","supertest":"1"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","contributors":[{"name":"姜天意","email":"tianyi.jiangty@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/70627"},{"name":"雪卒","email":"ruoqi.drq@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/64840"},{"name":"余化","email":"shuai.shao@alipay.com","url":"http://shaoshuai.me"},{"name":"贯高","email":"guangao@alipay.com","url":"http://chuo.me"},{"name":"不四","email":"busi.hyy@alipay.com","url":"http://deadhorse.me"},{"name":"苏千","email":"suqian.yf@alipay.com","url":"http://fengmk2.com"},{"name":"宗羽","email":"xiaochen.gaoxc@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/68955"},{"name":"天筑","email":"liuyong.ly3@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/89488"},{"name":"夜末","email":"huachang.chc@alipay.com","url":"https://work.alibaba-inc.com/work/u/73527"},{"name":"阿侎","email":"lixin.hlx@alipay.com","url":"https://work.alibaba-inc.com/work/u/70284"},{"name":"汤尧","email":"tangyao@alipay.com","url":"http://tangyao.me"},{"name":"宣予","email":"hongxuan.lhx@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/107406"}],"gitHead":"b5cd65e003cd83ebdc03e361d4d811933a088380","_id":"egg-security@1.0.0","_shasum":"b0a7842f6290f93baa0c5642e4ded4558a475468","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.2.0","_npmUser":{"name":"jtyjty99999","email":"jtyjty99999@126.com"},"dist":{"shasum":"b0a7842f6290f93baa0c5642e4ded4558a475468","size":18416,"noattachment":false,"key":"/egg-security/-/egg-security-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-1.0.0.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/egg-security-1.0.0.tgz_1471514678422_0.43293322692625225"},"directories":{},"publish_time":1471514679308,"_cnpm_publish_time":1471514679308,"_hasShrinkwrap":false},"0.0.4":{"name":"egg-security","version":"0.0.4","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"~0.1.0","escape-html":"~1.0.3","extend":"~3.0.0","koa-compose":"~2.3.0","koa-csrf":"~2.4.0","methods":"~1.1.1","path-to-regexp":"~1.2.1","platform":"~1.3.0","rndm":"~1.1.1","tsscmp":"^1.0.2","url-pattern":"~0.6.0","utility":"~1.5.0","xss":"~0.2.7"},"devDependencies":{"autod":"2","egg":"0.0.6","egg-bin":"1","egg-ci":"1","egg-mock":"0.0.2","eslint":"3","eslint-config-egg":"3","pedding":"^1.0.0","rimraf":"^2.5.2","should":"8","supertest":"1","beautify-benchmark":"~0.2.4","benchmark":"~1.0.0","multiline":"~1.0.2","should-http":"0","spy":"0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","contributors":[{"name":"姜天意","email":"tianyi.jiangty@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/70627"},{"name":"雪卒","email":"ruoqi.drq@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/64840"},{"name":"余化","email":"shuai.shao@alipay.com","url":"http://shaoshuai.me"},{"name":"贯高","email":"guangao@alipay.com","url":"http://chuo.me"},{"name":"不四","email":"busi.hyy@alipay.com","url":"http://deadhorse.me"},{"name":"苏千","email":"suqian.yf@alipay.com","url":"http://fengmk2.com"},{"name":"宗羽","email":"xiaochen.gaoxc@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/68955"},{"name":"天筑","email":"liuyong.ly3@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/89488"},{"name":"夜末","email":"huachang.chc@alipay.com","url":"https://work.alibaba-inc.com/work/u/73527"},{"name":"阿侎","email":"lixin.hlx@alipay.com","url":"https://work.alibaba-inc.com/work/u/70284"},{"name":"汤尧","email":"tangyao@alipay.com","url":"http://tangyao.me"},{"name":"宣予","email":"hongxuan.lhx@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/107406"}],"gitHead":"922de975f35710692a06805275a9424c941ae1ca","_id":"egg-security@0.0.4","_shasum":"17fa91e22cd115e37b704ce494ba7e8650aa0c8f","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.2.0","_npmUser":{"name":"jtyjty99999","email":"jtyjty99999@126.com"},"dist":{"shasum":"17fa91e22cd115e37b704ce494ba7e8650aa0c8f","size":18300,"noattachment":false,"key":"/egg-security/-/egg-security-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-0.0.4.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/egg-security-0.0.4.tgz_1469031248901_0.9710300962906331"},"directories":{},"publish_time":1469031250517,"_cnpm_publish_time":1469031250517,"_hasShrinkwrap":false},"0.0.3":{"name":"egg-security","version":"0.0.3","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"~0.1.0","escape-html":"~1.0.3","extend":"~3.0.0","koa-compose":"~2.3.0","koa-csrf":"~2.4.0","methods":"~1.1.1","path-to-regexp":"~1.2.1","platform":"~1.3.0","rndm":"~1.1.1","tsscmp":"^1.0.2","url-pattern":"~0.6.0","utility":"~1.5.0","xss":"~0.2.7"},"devDependencies":{"autod":"2","egg":"0.0.6","egg-bin":"1","egg-ci":"1","egg-mock":"0.0.2","eslint":"3","eslint-config-egg":"3","pedding":"^1.0.0","rimraf":"^2.5.2","should":"8","supertest":"1","beautify-benchmark":"~0.2.4","benchmark":"~1.0.0","multiline":"~1.0.2","should-http":"0","spy":"0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","contributors":[{"name":"姜天意","email":"tianyi.jiangty@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/70627"},{"name":"雪卒","email":"ruoqi.drq@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/64840"},{"name":"余化","email":"shuai.shao@alipay.com","url":"http://shaoshuai.me"},{"name":"贯高","email":"guangao@alipay.com","url":"http://chuo.me"},{"name":"不四","email":"busi.hyy@alipay.com","url":"http://deadhorse.me"},{"name":"苏千","email":"suqian.yf@alipay.com","url":"http://fengmk2.com"},{"name":"宗羽","email":"xiaochen.gaoxc@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/68955"},{"name":"天筑","email":"liuyong.ly3@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/89488"},{"name":"夜末","email":"huachang.chc@alipay.com","url":"https://work.alibaba-inc.com/work/u/73527"},{"name":"阿侎","email":"lixin.hlx@alipay.com","url":"https://work.alibaba-inc.com/work/u/70284"},{"name":"汤尧","email":"tangyao@alipay.com","url":"http://tangyao.me"},{"name":"宣予","email":"hongxuan.lhx@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/107406"}],"gitHead":"865b3ceb7471d4067410a92608f82e5344090b97","_id":"egg-security@0.0.3","_shasum":"3ed43a868b0ea653b5878965ec2beb944a5484a6","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.2.0","_npmUser":{"name":"jtyjty99999","email":"jtyjty99999@126.com"},"dist":{"shasum":"3ed43a868b0ea653b5878965ec2beb944a5484a6","size":18269,"noattachment":false,"key":"/egg-security/-/egg-security-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-0.0.3.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/egg-security-0.0.3.tgz_1469030705393_0.9551760295871645"},"directories":{},"publish_time":1469030705987,"_cnpm_publish_time":1469030705987,"_hasShrinkwrap":false},"0.0.2":{"name":"egg-security","version":"0.0.2","description":"security plugin in egg framework","eggPlugin":{"name":"security","dep":["session"]},"keywords":["egg","plugin"],"dependencies":{"debug":"^2.2.0","delegates":"~0.1.0","escape-html":"~1.0.3","extend":"~3.0.0","koa-compose":"~2.3.0","koa-csrf":"~2.4.0","methods":"~1.1.1","path-to-regexp":"~1.2.1","platform":"~1.3.0","rndm":"~1.1.1","tsscmp":"^1.0.2","url-pattern":"~0.6.0","utility":"~1.5.0","xss":"~0.2.7"},"devDependencies":{"autod":"2","egg":"0.0.6","egg-bin":"1","egg-ci":"1","egg-mock":"0.0.2","eslint":"3","eslint-config-egg":"3","pedding":"^1.0.0","rimraf":"^2.5.2","should":"8","supertest":"1","beautify-benchmark":"~0.2.4","benchmark":"~1.0.0","multiline":"~1.0.2","should-http":"0","spy":"0"},"engines":{"node":">=4.0.0"},"scripts":{"test":"npm run lint && npm run test-local","test-local":"egg-bin test","cov":"egg-bin cov","lint":"eslint --ext js . --fix","ci":"npm run lint && npm run cov","autod":"autod"},"ci":{"version":"4, 6"},"repository":{"type":"git","url":"git+https://github.com/eggjs/egg-security.git"},"files":["agent.js","app","lib","config","app.js","index.js"],"bugs":{"url":"https://github.com/eggjs/egg/issues"},"homepage":"https://github.com/eggjs/egg-security#readme","author":{"name":"jtyjty99999"},"license":"MIT","contributors":[{"name":"姜天意","email":"tianyi.jiangty@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/70627"},{"name":"雪卒","email":"ruoqi.drq@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/64840"},{"name":"余化","email":"shuai.shao@alipay.com","url":"http://shaoshuai.me"},{"name":"贯高","email":"guangao@alipay.com","url":"http://chuo.me"},{"name":"不四","email":"busi.hyy@alipay.com","url":"http://deadhorse.me"},{"name":"苏千","email":"suqian.yf@alipay.com","url":"http://fengmk2.com"},{"name":"宗羽","email":"xiaochen.gaoxc@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/68955"},{"name":"天筑","email":"liuyong.ly3@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/89488"},{"name":"夜末","email":"huachang.chc@alipay.com","url":"https://work.alibaba-inc.com/work/u/73527"},{"name":"阿侎","email":"lixin.hlx@alipay.com","url":"https://work.alibaba-inc.com/work/u/70284"},{"name":"汤尧","email":"tangyao@alipay.com","url":"http://tangyao.me"},{"name":"宣予","email":"hongxuan.lhx@alibaba-inc.com","url":"https://work.alibaba-inc.com/work/u/107406"}],"gitHead":"9ab4e83152af00a39eba2c42c1e0a2a33cf9bfa0","_id":"egg-security@0.0.2","_shasum":"d6c4eeb7f1ab71f61985621cbcba61f9ee786001","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.2.0","_npmUser":{"name":"jtyjty99999","email":"jtyjty99999@126.com"},"dist":{"shasum":"d6c4eeb7f1ab71f61985621cbcba61f9ee786001","size":18353,"noattachment":false,"key":"/egg-security/-/egg-security-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-0.0.2.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/egg-security-0.0.2.tgz_1469029359913_0.5860149555373937"},"directories":{},"publish_time":1469029361708,"_cnpm_publish_time":1469029361708,"_hasShrinkwrap":false},"0.0.1":{"name":"egg-security","version":"0.0.1","description":"egg plugin <egg-security>","keywords":["egg","eggjs","egg-plugin"],"homepage":"https://github.com/eggjs/egg-security","license":"MIT","author":{"name":"eggjs"},"contributors":[{"name":"TZ","email":"atian25@qq.com"},{"name":"popomore","email":"sakura9515@gmail.com"},{"name":"fengmk2","email":"m@fengmk2.com"},{"name":"dead-horse","email":"heyiyu.deadhorse@gmail.com"}],"repository":{"type":"git","url":"git+ssh://git@github.com/eggjs/egg-security.git"},"bugs":{"url":"https://github.com/eggjs/egg-security/issues"},"_id":"egg-security@0.0.1","scripts":{},"_shasum":"ad52069837227b397d28699ec34d2e67a137d5d6","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.4","_npmUser":{"name":"atian25","email":"atian25@qq.com"},"dist":{"shasum":"ad52069837227b397d28699ec34d2e67a137d5d6","size":429,"noattachment":false,"key":"/egg-security/-/egg-security-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/egg-security/download/egg-security-0.0.1.tgz"},"maintainers":[{"name":"akitasummer","email":""},{"name":"atian25","email":"atian25@qq.com"},{"name":"coolme200","email":""},{"name":"dead_horse","email":"dead_horse@qq.com"},{"name":"eggjs-admin","email":""},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"gxkl","email":""},{"name":"hyj1991","email":"yeekwanvong@gmail.com"},{"name":"jtyjty99999","email":"jtyjty99999@126.com"},{"name":"killagu","email":"killa07071201@gmail.com"},{"name":"niania","email":""},{"name":"popomore","email":""},{"name":"shaoshuai0102","email":"shaoshuai0102@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/egg-security-0.0.1.tgz_1464253765393_0.5971761620603502"},"directories":{},"publish_time":1464253768026,"_cnpm_publish_time":1464253768026,"_hasShrinkwrap":false}},"readme":"# egg-security\n\nSecurity plugin in egg\n\n[![NPM version][npm-image]][npm-url]\n[![Node.js CI](https://github.com/eggjs/egg-security/actions/workflows/nodejs.yml/badge.svg)](https://github.com/eggjs/egg-security/actions/workflows/nodejs.yml)\n[![Test coverage][codecov-image]][codecov-url]\n[![Known Vulnerabilities][snyk-image]][snyk-url]\n[![npm download][download-image]][download-url]\n\n[npm-image]: https://img.shields.io/npm/v/egg-security.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/egg-security\n[codecov-image]: https://codecov.io/gh/eggjs/egg-security/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/eggjs/egg-security\n[snyk-image]: https://snyk.io/test/npm/egg-security/badge.svg?style=flat-square\n[snyk-url]: https://snyk.io/test/npm/egg-security\n[download-image]: https://img.shields.io/npm/dm/egg-security.svg?style=flat-square\n[download-url]: https://npmjs.org/package/egg-security\n\nEgg's default security plugin, generally no need to configure.\n\n## Install\n\n```bash\nnpm i egg-security\n```\n\n## Usage & configuration\n\n- `config.default.js`\n\n```js\nexports.security = {\n  xframe: {\n    value: 'SAMEORIGIN',\n  },\n};\n```\n\n### Disable security precautions\n\nTo disable some security precautions, set `enable` property to 'false' directly.\n\nFor example, disable xframe defense:\n\n```js\nexports.security = {\n  xframe: {\n    enable: false,\n  },\n};\n```\n\n### match & ignore\n\nIf you want to set security config open for a certain path, you can configure `match` option.\n\nFor example, just open csp when path contains `/example`, you can configure with the following configuration:\n\n```js\nexports.security = {\n  csp: {\n    match: '/example',\n    // match: /^\\/api/, // support regexp\n    // match: ctx => ctx.path.startsWith('/api'), // support function\n    // match: [ ctx => ctx.path.startsWith('/api'), /^\\/foo$/, '/bar'], // support Array\n    policy: {\n      //...\n    },\n  },\n};\n```\n\nIf you want to set security config disable for a certain path, you can configure `ignore` option.\n\nFor example, just disable xframe when path contains `/example` while our pages can be embedded in cooperative businesses , you can configure with the following configuration:\n\n```js\nexports.security = {\n  xframe: {\n    ignore: '/example',\n    // ignore: /^\\/api/, // support regexp\n    // ignore: ctx => ctx.path.startsWith('/api'), // support function\n    // ignore: [ ctx => ctx.path.startsWith('/api'), /^\\/foo$/, '/bar'], // support Array\n    // ...\n  },\n};\n```\n\n__mention：`match` has higher priority than `ignore`__\n\n### Dynamic configuration for security plugins depend on context\n\nThere are times when we want to be more flexible to configure security plugins.For example:\n\n1. To decide whether to enable or disable the xframe security header from the context of the request.\n2. To decide csp policies from different request urls.\n\nThen we can configure `ctx.securityOptions[name] opts` in the custom middleware or controller, then the current request configuration will override the default configuration (new configuration will be merged and override the default project configuration, but only take effect in the current request)\n\n```js\nasync ctx => {\n  // if satisfied some condition\n  // change configuration\n  ctx.securityOptions.xframe = {\n    value: 'ALLOW-FROM: https://domain.com',\n  };\n  // disable configuration\n  ctx.securityOptions.xssProtection = {\n    enable: false,\n  }\n}\n```\n\nNot all security plugins support dynamic configuration, only the following plugins list support\n\n- csp\n- hsts\n- noopen\n- nosniff\n- xframe\n- xssProtection\n\nAnd in ` helper `：\n\n- shtml\n\nhelper is the same way to configure.\n\n```js\nctx.securityOptions.shtml = {\n  whiteList: {\n  },\n};\n```\n\n#### Mention\n\n- Security is a big thing, please pay attention to the risk of changes in the security configuration (especially dynamic changes)\n- `ctx.securityOptions` the current request configuration will overrides the default configuration, but it does not make a deep copy，so pay attention to configure `csp.policy`, it will not be merged.\n- If you configure `ctx.securityOptions`，please write unit tests to ensure the code is correct.\n\n## API\n\n### ctx.isSafeDomain(domain)\n\nWhether or not the domain is in the whitelist of the configuration. See `ctx.redirect`.\n\nNote: [egg-cors](https://github.com/eggjs/egg-cors) module uses this function internally to determine whether or not send back an `Access-Control-Allow-Origin` response header with the value of safe domain. Otherwise, ignore the request with an error, `No 'Access-Control-Allow-Origin' header is present on the requested resource.`\n\n```js\nexports.security = {\n  domainWhiteList: ['http://localhost:4200']\n};\n```\n\n## Interface restriction\n\n### CSRF\n\n__usage__\n\n- `ctx.csrf` getter for CSRF token\n\nGenerally used when send POST form request. When page rendering, put `ctx.csrf` into form hidden field or query string.(`_csrf` is the key).\nWhen submitting the form, please submit with the `_csrf` token parameter.\n\n#### Using CSRF when upload by formData\n\nbrowser:\n\n```html\n<form method=\"POST\" action=\"/upload?_csrf={{ ctx.csrf | safe }}\" enctype=\"multipart/form-data\">\n  title: <input name=\"title\" />\n  file: <input name=\"file\" type=\"file\" />\n  <button type=\"submit\">上传</button>\n</form>\n```\n\n#### Using CSRF when request by AJAX\n\nCSRF token will also set to cookie by default, and you can send token through header:\n\nIn jQuery:\n\n```js\nvar csrftoken = Cookies.get('csrftoken');\n\nfunction csrfSafeMethod(method) {\n  // these HTTP methods do not require CSRF protection\n  return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));\n}\n$.ajaxSetup({\n  beforeSend: function(xhr, settings) {\n    if (!csrfSafeMethod(settings.type) && !this.crossDomain) {\n      xhr.setRequestHeader('x-csrf-token', csrftoken);\n    }\n  },\n});\n```\n\n#### Options\n\nthere are some options that you can customize:\n\n```js\nexports.security = {\n  csrf: {\n    type: 'ctoken',             // can be ctoken, referer, all or any, default to ctoken\n    useSession: false,          // if useSession set to true, the secret will keep in session instead of cookie\n    ignoreJSON: false,          // skip check JSON requests if ignoreJSON set to true\n    cookieName: 'csrfToken',    // csrf token's cookie name\n    sessionName: 'csrfToken',   // csrf token's session name\n    headerName: 'x-csrf-token', // request csrf token's name in header\n    bodyName: '_csrf',          // request csrf token's name in body\n    queryName: '_csrf',         // request csrf token's name in query\n    rotateWhenInvalid: false,   // rotate csrf secret when csrf token invalid. For multi applications which be deployed on the same domain, as tokens from one application may impact others.\n    refererWhiteList: [],       // referer white list\n    supportedRequests: [        // supported URL path and method, the package will match URL path regex patterns one by one until path matched. We recommend you set {path: /^\\//, methods:['POST','PATCH','DELETE','PUT','CONNECT']} as the last rule in the list, which is also the default config.\n      {path: /^\\//, methods:['POST','PATCH','DELETE','PUT','CONNECT']}\n    ],\n    cookieOptions: {},          // csrf token's cookie options\n  },\n}\n```\n\n`methods` in `supportedRequests` can be empty, which means if you set `supportedRequests: [{path: /.*/, methods:[]}]`, the whole csrf protection will be disabled.\n\n#### Rotate CSRF secret\n\nMust call `ctx.rotateCsrfSecret()` when user login to ensure each user has independent secret.\n\n### safe redirect\n\n- `ctx.redirect(url)` If url is not in the configuration of the white list, the redirect will be prohibited\n\n- `ctx.unsafeRedirect(url)` Not Recommended;\n\nSecurity plugin override `ctx.redirect` method，all redirects will be judged by the domain name.\n\nIf you need to use `ctx.redirect`, you need to do the following configuration in the application configuration file：\n\n```js\nexports.security = {\n  domainWhiteList:['.domain.com'],  // security whitelist, starts with '.'\n};\n```\n\nIf user do not configure `domainWhiteList` or `domainWhiteList` is empty, it will pass all redirects, equal to `ctx.unsafeRedirect(url)`. `domainWhiteList` and `url` are case insensitive.\n\n### jsonp\n\nBased on [jsonp-body](https://github.com/node-modules/jsonp-body).\n\nDefense:\n\n- The longest callback function name limit of 50 characters.\n- Callback function only allows \"[\",\"]\",\"a-zA-Z0123456789_\", \"$\" \".\" to prevent `xss` or `utf-7` attack.\n\nConfig：\n\n- callback function default name `_callback`.\n- limit - function name limit, default by 50.\n\n## helper\n\n### .escape()\n\nString xss filter, the most secure filtering mechanism.\n\n```js\nconst str = '><script>alert(\"abc\") </script><';\nconsole.log(ctx.helper.escape(str));\n// => &gt;&lt;script&gt;alert(&quot;abc&quot;) &lt;/script&gt;&lt;\n```\n\nIn nunjucks template, escape by default.\n\n### .surl()\n\nurl filter.\n\nUsed for url in html tags (like `<a href=\"\"/><img src=\"\"/>`),please do not call under other places.\n\n  `helper.surl($value)`。\n\n**Mention: Particular attention, if you need to resolve URL use `surl`，`surl` need warpped in quotes, Otherwise will lead to XSS vulnerability.**\n\nExample: do not use surl\n\n```html\n<a href=\"$value\" />\n```\n\noutput:\n\n```html\n<a href=\"http://ww.domain.com<script>\" />\n```\n\nUse surl\n\n```html\n<a href=\"helper.surl($value)\" />\n```\n\noutput:\n\n```html\n<a href=\"http://ww.domain.com&lt;script&gt;\" />\n```\n\n#### protocolWhitelist\n\nIf url's protocol is not in the protocol whitelist, it will return empty string.\n\nProtocol whitelist is `http`, `https`, `file`, `data`.\n\nSo if you want `surl` support custom protocol, please extend the security `protocolWhitelist` config :\n\n```js\nexports.security = {\n  protocolWhitelist: ['test']\n};\n```\n\n### .sjs()\n\nUsed to output variables in javascript(include onload/event),it will do `JAVASCRIPT ENCODE` for the variable string.It will escape all characters to `\\x` which are not in the whitelist to avoid XSS attack.\n\n```js\nconst foo = '\"hello\"';\n\n// not use sjs\nconsole.log(`var foo = \"${foo}\";`);\n// => var foo = \"\"hello\"\";\n\n// use sjs\nconsole.log(`var foo = \"${ctx.helper.sjs(foo)}\";`);\n// => var foo = \"\\\\x22hello\\\\x22\";\n```\n\n### .shtml()\n\nIf you want to output richtexts in views, you need to use `shtml` helper.\nIt will do XSS filter, then output html tags to avoid illegal scripts.\n\n**shtml is a very complex process, it will effect server performance, so if you do not need to output HTML, please do not use shtml.**\n\nExamples:\n\n```js\n// js\nconst value = `<a href=\"http://www.domain.com\">google</a><script>evilcode…</script>`;\n\n// in your view\n<html>\n<body>\n  ${helper.shtml($value)}\n</body>\n</html>\n// => <a href=\"http://www.domain.com\">google</a>&lt;script&gt;evilcode…&lt;/script&gt;\n```\n\nshtml based on [xss](https://github.com/leizongmin/js-xss/), and add filter by domain feature.\n\n- [default rule](https://github.com/leizongmin/js-xss/blob/master/lib/default.js)\n- custom rule <http://jsxss.com/zh/options.html>\n\nFor example, only support `a` tag, and filter all attributes except for `title`:\n\n```javascript\nwhiteList: {a: ['title']}\n```\n\noptions:\n\n> `config.helper.shtml.domainWhiteList` has been deprecated, please use `config.security.domainWhiteList` instead.\n\nMention that `shtml` uses a strict white list mechanism, in addition to filtering out the XSS risk of the string,`tags` and `attrs` which are not in the [default rule](https://github.com/leizongmin/js-xss/blob/master/lib/default.js) will be filtered.\n\nFor example `html` tag is not in the whitelist.\n\n```js\nconst html = '<html></html>';\n\n// html\n${helper.shtml($html)}\n\n// output none\n```\n\nCommonly used `data-xx` property is not in the whitelist, so it will be filtered.\nSo please check the applicable scenarios for `shtml`, it is usually used for rich-text submitted by user.\n\nA usage error will limit functions, and also affect the performance of the server.\nSuch scenes are generally forums, comments, etc.\n\nEven if the forum does not support the HTML content input, do not use this helper, you can directly use `escape` instead.\n\n### .spath()\n\nIf you want to use users input for a file path, please use spath for security check. If path is illegal, it will return null.\n\nIllegal path:\n\n- relative path starts with `..`\n- absolute path starts with `/`\n- above path try to use `url encode` to bypass the check\n\n```js\nconst foo = '/usr/local/bin';\nconsole.log(ctx.helper.spath(foo2));\n// => null\n```\n\n### .sjson()\n\njson encode.\n\nIf you want to output json in javascript without encoding, it will be a risk for XSS.\nsjson supports json encode，it will iterate all keys in json, then escape all characters in the value to `\\x` to avoid XSS attack, and keep the json structure unchanged.\nIf you want to output json string in your views, please use `${ctx.helper.sjson(var)}`to escape.\n\n__it has a very complex process and will lost performance, so avoid the use as far as possible__\n\nexample:\n\n```js\n  <script>\n    window.locals = ${ctx.helper.sjson(locals)};\n  </script>\n```\n\n### .cliFilter()\n\nIt will cause remote command execution vulnerability, when user submit the implementation of the command by browser.because the server does not filter for the implementation of the function, resulting in the execution of the command can usually lead to the invasion of the server.\n\nIf you want to get user submit for command's parameter, please use `cliFilter`。\n\nbefore fix:\n\n```js\n\n  cp.exec(\"bash /home/admin/ali-knowledge-graph-backend/initrun.sh \" + port);\n\n```\n\nafter fix:\n\n```js\n\n  cp.exec(\"bash /home/admin/ali-knowledge-graph-backend/initrun.sh \" + ctx.helper.cliFilter(port));\n\n```\n\n### .escapeShellArg()\n\nEscape command line arguments. Add single quotes around a string and quotes/escapes any existing single quotes allowing you to pass a string directly to a shell function and having it be treated as a single safe argument.\n\n```js\nconst ip = '127.0.0.1 && cat /etc/passwd'\nconst cmd = 'ping -c 1 ' + this.helper.escapeShellArg(ip);\n\nconsole.log(cmd);\n//ping -c 1 '127.0.0.1 && cat /etc/passwd'\n```\n\n### .escapeShellCmd()\n\nCommand line escape to remove the following characters from the entered command line: ```#&;`|*?~<>^()[]{}$;'\", 0x0A and 0xFF```\n\n```js\nconst ip = '127.0.0.1 && cat /etc/passwd'\nconst cmd = 'ping -c 1 ' + this.helper.escapeShellCmd(ip);\n\nconsole.log(cmd);\n//ping -c 1 127.0.0.1  cat /etc/passwd\n```\n\n## Security Headers\n\nRefer to [lusca](https://github.com/krakenjs/lusca), appreciate their work.\n\n### hsts Strict-Transport-Security\n\nDisabled by default. If your website based on https, we recommend you should enable it.\n\n- maxAge one year by default `365 * 24 * 3600`\n- includeSubdomains false by default\n\n### csp\n\nDefault disabled. If you need to enable it, please contact your security engineers and determine the opening strategy\n\n- policy policies used by csp\n\n### X-Download-Options:noopen\n\nDefault enabled, disable IE download dialog automatically opens download file and will cause XSS\n\n### X-Content-Type-Options:nosniff\n\nDisable IE8's auto MIME sniffing. E.g.: take `text/plain` as `text/html` by mistake and render it, especially when there's something untrusted in the local service.\n\n### X-Frame-Options\n\nDefaulting to \"SAMEORIGIN\", only allows iframe to embed by the same origin.\n\n- value Defaulting to `SAMEORIGIN`\n\n### X-XSS-Protection\n\n- disable Defaulting to `false`, the same as `1; mode=block`.\n\n### SSRF Protection\n\nIn a [Server-Side Request Forgery (SSRF)](https://www.owasp.org/index.php/Server_Side_Request_Forgery) attack, the attacker can abuse functionality on the server to read or update internal resources.\n\n`egg-security` provide `ctx.safeCurl`, `app.safeCurl` and `agent.safeCurl` to provide http request(like `ctx.curl`, `app.curl` and `agent.curl`) with SSRF protection.\n\n#### Configuration\n\n- ipBlackList(Array) - specific which IP addresses are illegal when requested with `safeCurl`.\n- ipExceptionList(Array) - specific which IP addresses are legal within ipBlackList.\nhostnameExceptionList(Array) - specifies which hostnames are legal within ipBlackList.\n- checkAddress(Function) - determine the ip by the function's return value, `false` means illegal ip.\n\n```js\n// config/config.default.js\nexports.security = {\n  ssrf: {\n    // support both cidr subnet or specific IP\n    ipBlackList: [\n      '10.0.0.0/8',\n      '127.0.0.1',\n      '0.0.0.0/32',\n    ],\n    // support both cidr subnet or specific IP\n    ipExceptionList: [\n      '10.1.1.1',\n      '10.10.0.1/24',\n    ],\n    // legal hostname\n    hostnameExceptionList: [\n      'example.com',\n    ],\n    // checkAddress has higher priority than ipBlackList\n    checkAddress(ip) {\n      return ip !== '127.0.0.1';\n    }\n  },\n};\n```\n\n## Other\n\n- Forbid `trace` `track` http methods.\n\n## License\n\n[MIT](https://github.com/eggjs/egg-security/blob/master/LICENSE)\n\n## Contributors\n\n[![Contributors](https://contrib.rocks/image?repo=eggjs/egg-security)](https://github.com/eggjs/egg-security/graphs/contributors)\n\nMade with [contributors-img](https://contrib.rocks).\n","_attachments":{},"homepage":"https://github.com/eggjs/egg-security#readme","bugs":{"url":"https://github.com/eggjs/egg/issues"},"license":"MIT"}