Hướng dẫn sanitize nodejs - khử trùng nodejs
Tôi sử dụng yup để xác nhận. Nó là gói nhỏ hơn rất nhiều so với Joi. Tôi đã sử dụng yup ở cả phía trước và phụ trợ và tôi thường ném xác nhận của mình vào gói NPM được chia sẻ mà cả hai dự án mặt trước và dự phòng có thể có cùng một thư viện xác thực Show
sau đó
Từ trang web của Yup:
Bạn sẽ muốn tạo trình xác nhận của riêng mình cho các mục đặc biệt như khớp mật khẩu, v.v ... Điều này có thể được thực hiện bằng cách sử dụng Regex sau đó thêm chức năng vào yup như vậy:
Đặt tất cả các chức năng xác thực của bạn vào gói NPM được chia sẻ của bạn (bao gồm cả các loại TypeScript của bạn, v.v.). Các trường hợp mà nhóm Frontend của bạn không đồng bộ với các xác nhận trên phần phụ trợ bây giờ sẽ ít quan tâm hơn. Nhập thư viện vệ sinh cho Node.js Thư viện này nhằm mục đích vệ sinh đầu vào của người dùng. Các ví dụ dưới đây cho thấy một số chất khử trùng được xây dựng. Bạn có thể tạo chất khử trùng tùy chỉnh của riêng bạn. Vui lòng tham khảo các bài kiểm tra để biết thêm ví dụ về cách sử dụng thư viện này. Bài kiểm traCách sử dụngvar express = require('express'); var app = express(); app.use(require('sanitize').middleware); app.get('/ping', function(req, res) { var param = req.queryInt('param'); res.send('pong ' + (typeof param) + ' ' + param); }); app.listen(8080); Tài liệuVệ sinh đối tượngvệ sinh.Điều này sẽ loại bỏ tất cả các phím từ một đối tượng đơn giản không phải là Express Middlewarereq.headerint (Headername: String): Integerreq.headerstring (headername: string): chuỗireq.headerfloat (Headername: String): Floatreq.headeremail (HeaderName: String): Chuỗireq.headerpotypreq.headeroneof (headername: string, mảng: mảng): chuỗiReq.bodyint (BodyParam: String): Integerreq.bodystring (bodyparam: String): Stringreq.bodyfloat (bodyparam: string): floatreq.bodyemail (bodyparam: string): chuỗiReq.BodyPotype (BodyParam: String, Mẫu: Regexp): Chuỗireq.bodyoneof (bodyname: String, mảng: mảng): chuỗiReq.QueryInt (QueryParam: String): IntegerReq.QueryString (queryParam: String): Chuỗireq.queryfloat (queryparam: String): floatreq.QueryEmail (queryParam: String): Stringreq.QueryPotype (queryParam: String, mẫu: regexp): chuỗireq.queryOf (queryName: String, mảng: mảng): chuỗireq.paramint (paramname: string): số nguyênreq.paramString (paramName: string): chuỗireq.paramfloat (paramname: string): floatreq.paramemail (paramname: string): chuỗireq.parampattern (paramname: chuỗi, mẫu: regexp): chuỗireq.paramoneof (paramname: string, mảng: mảng): chuỗi |