think-ip-filter

1.0.3 • Public • Published

think-ip-filter

IP filter middleware for ThinkJS 2.0, support whiteList & blackList.

Install

npm install think-ip-filter --save

How to use

register middleware

create file if not exist, src/common/bootstrap/middleware.js.

import ipFilter from 'think-ip-filter';
think.middleware('ip_filter', ipFilter);

config hook

create file if not exist, src/common/config/hook.js.

export default {
  request_begin: ['prepend', 'ip_filter']
}

config ip whiteList or blackList

add ip_filter config in file src/common/config/config.js.

black list

export default {
  ip_filter: ['111.222.333.444', '121.233.120.11']
}

white list

export default {
  ip_filter: {
    whiteList: ['123.222.122.11', '22.33.11.22']
  }
}

* rule

export default {
  ip_filter: {
    whiteList: ['123.*.122.11', '*.33.11.22']
  }
}

RegExp rule

export default {
  ip_filter: {
    whiteList: [/^10\./]
  }
}

dynamic load

dynamic load by function, must be return Promise.

export default {
  ip_filter: function(){
    //such as: get from db
    return Promise.resolve(['111.*']);
  }
}

LICENSE

MIT

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.3
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.3
    0
  • 1.0.2
    0
  • 1.0.1
    0
  • 1.0.0
    0

Package Sidebar

Install

npm i think-ip-filter

Weekly Downloads

0

Version

1.0.3

License

MIT

Last publish

Collaborators

  • welefen