我正在一个项目中,我希望实施从这里获得的良好行业安全实践-> 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端点中插入中间件验证来处理此问题?