脚本移至其他服务器时出现错误。
(节点:15707)[DEP0005] DeprecationWarning:由于安全性和可用性问题,不建议使用Buffer()。请改用Buffer.alloc(),Buffer.allocUnsafe()或Buffer.from()方法。
当前版本:
Ubuntu 16.04.4 LTS Node - v10.9.0 NPM - 6.2.0
先前版本:
Ubuntu 14.04.3 LTS NPM - 3.10.10 Node - v6.10.3 exports.basicAuthentication = function (req, res, next) { console.log("basicAuthentication"); if (!req.headers.authorization) { return res.status(401).send({ message: "Unauthorised access" }); } var auth = req.headers.authorization; var baseAuth = auth.replace("Basic", ""); baseAuth = baseAuth.trim(); var userPasswordString = new Buffer(baseAuth, 'base64').toString('ascii'); var credentials = userPasswordString.split(':'); var username = credentials[0] !== undefined ? credentials[0] : ''; var password = credentials[1] !== undefined ? credentials[1] : ''; var userQuery = {mobilenumber: username, otp: password}; console.log(userQuery); User.findOne(userQuery).exec(function (err, userinfo) { if (err || !userinfo) { return res.status(401).send({ message: "Unauthorised access" }); } else { req.user = userinfo; next(); } }); }
new Buffer(number) // Old Buffer.alloc(number) // New
new Buffer(string) // Old Buffer.from(string) // New
new Buffer(string, encoding) // Old Buffer.from(string, encoding) // New
new Buffer(...arguments) // Old Buffer.from(...arguments) // New
请注意 ,在当前的Node.js版本上,Buffer.alloc()也比新的Buffer(size).fill(0)更快,否则您将需要确保零填充。