Knex模式不允许使用空格,分号或eval语句

时间:2019-02-10 02:13:53

标签: javascript node.js database express knex.js

我正在一个项目中,我希望实施从这里获得的良好行业安全实践-> https://medium.com/@nodepractices/were-under-attack-23-node-js-security-best-practices-e33c146cb87d

因此,对于用户名/密码,是否有一种方法可以设置架构以不允许使用空格,分号和eval语句?

exports.up = function(knex, Promise) {
  return knex.schema.createTable('employees', function(tbl) {
    // Primary Key 'id'
    tbl.increments('employee_id');

    // Other Columns
    tbl
      .string('username', 128)
      .notNullable()
      .unique();
    tbl.string('display_name', 128).unique();
    tbl.string('password', 128).notNullable();
    tbl.string('email', 255).unique();
    tbl.text('img_url');
    tbl.boolean('is_active').defaultTo(true);
  });
};

exports.down = function(knex, Promise) {
  return knex.schema.dropTableIfExists('employees');
};

还是我应该在所有POST / PUT端点中插入中间件验证来处理此问题?

0 个答案:

没有答案