Cách thực hiện phát hiện thủ công với các biện pháp bảo vệ trong Node.js

Cach Thuc Hien Phat Hien Thu Cong Voi Cac Bien Phap Bao Ve Trong Node Js



Phát hiện các lỗ hổng, bảo vệ mã của bạn khỏi mọi loại tấn công mạng và ngăn chặn rò rỉ bộ nhớ là những nhiệm vụ thiết yếu nhất của một lập trình viên. Việc phát hiện và dự đoán các lỗ hổng nằm bên trong mã này là rất khó khăn và cũng là một quá trình tốn thời gian. Tuy nhiên, có một số cách tiếp cận để phát hiện thủ công cùng với quá trình bảo vệ ứng dụng có thể được thực hiện trong Nodejs.

Bài viết này sẽ giải thích các phương pháp thực hiện phát hiện thủ công bằng các biện pháp bảo vệ trong Nodejs bằng cách đề cập đến các phần bên dưới:







    • Sử dụng Bộ giới hạn Tỷ lệ
    • Sử dụng TLS/SSL để truyền dữ liệu
    • Đầu ra thoát

Cách thực hiện phát hiện thủ công với các biện pháp bảo vệ trong Node.js

Việc phát hiện thủ công được thực hiện bằng cách xem lại mã nhiều lần để xác định các sự cố tiềm ẩn trong mã Node.js. Các vấn đề tiềm ẩn được tìm ra bằng cách tìm kiếm các lỗi cú pháp, lỗi logic, v.v. Việc sử dụng “ trình gỡ lỗi ' Và ' xơ gan ” cũng có thể được sử dụng để xác định các mối đe dọa hoặc lỗi tiềm ẩn bên trong chương trình Node.js.



Có nhiều phương pháp khác nhau để bảo vệ mã khỏi tất cả các loại luồng tiềm ẩn đồng thời nâng cao tuổi thọ của mã của bạn. Những phương pháp này được liệt kê dưới đây:



Phương pháp 1: Bảo vệ chương trình Node.js bằng cách sử dụng Bộ giới hạn tốc độ

Để ngăn ứng dụng của bạn khỏi các cuộc tấn công từ chối dịch vụ và cải thiện hiệu suất ứng dụng của bạn bằng cách ngăn chặn quá nhiều yêu cầu. Việc thực hiện thực tế được hiển thị dưới đây:





const express = yêu cầu ( 'thể hiện' ) ;
hằng sốLim = yêu cầu ( 'giới hạn tốc độ nhanh' ) ;
const safeApp = express ( ) ;

// Xác định phần mềm trung gian giới hạn tốc độ
giới hạn const = rateLim ( {
cửa sổMs: 60 * 1000 ,
tối đa: 100 , // Yêu cầu tối đa mỗi phút
tin nhắn: 'Lấy làm tiếc! Đã vượt quá giới hạn tỷ lệ' ,
} ) ;
// Áp dụng phần mềm trung gian giới hạn tốc độ
safeApp.use ( hạn chế ) ;
// Xác định lộ trình và trình xử lý phản hồi
safeApp.get ( '/' , ( yêu cầu, phản hồi ) = > {
phản hồi.send ( 'Xin chào cộng đồng Linuxhint!' ) ;
} ) ;

// Đang khởi tạo máy chủ Express
const localPort = process.env.PORT || 3000 ;
safeApp.listen ( cổng địa phương, ( ) = > {
console.log ( ` Máy chủ đã khởi động trên số cổng: ${localPort}


Trong đoạn mã trên:

    • Đầu tiên, nhập “ thể hiện ' Và ' giới hạn tốc độ nhanh 'gói vào phần chính' js ' tài liệu. Khởi tạo “ thể hiện() ” ứng dụng và gán tên cho nó “ ứng dụng an toàn ”.
    • Tiếp theo, xác định phần mềm trung gian giới hạn tốc độ bằng cách chuyển các giá trị tùy chỉnh cho “ cửa sổMs ',' tối đa ', Và ' tin nhắn “ thuộc tính trong “ giới hạn tốc độ nhanh ' bưu kiện.
    • Bây giờ, hãy áp dụng giới hạn tốc độ này cho ứng dụng chuyển phát nhanh bằng cách sử dụng “ sử dụng() ' phương pháp.
    • Sau đó, sử dụng “ lấy() ” để gửi một tin nhắn ngẫu nhiên theo yêu cầu qua máy chủ.
    • Cuối cùng, đặt số cổng bằng cách sử dụng “ env.PORT ” và làm cho ứng dụng express lắng nghe số cổng được chỉ định.

Phương pháp 2: Bảo vệ chương trình Node.js bằng cách sử dụng TLS/SSL để truyền dữ liệu

TLS/SSL là lớp ổ cắm an toàn mã hóa dữ liệu được truyền giữa phía máy chủ và máy khách. Điều này bảo vệ dữ liệu nhạy cảm như số thẻ tín dụng khỏi bị kẻ tấn công chặn và cũng giúp bạn đáp ứng các yêu cầu tuân thủ:



const fs = yêu cầu ( 'fs' ) ;
const express = yêu cầu ( 'thể hiện' ) ;
const httpsObj = yêu cầu ( 'https' ) ;

const safeApp = express ( ) ;
tùy chọn const = {
khóa: fs.readFileSync ( 'key.pem' ) ,
chứng chỉ: fs.readFileSync ( 'cert.pem' ) ,
} ;

const settingServer = httpsObj.createServer ( tùy chọn, ứng dụng an toàn ) ;

safesafeApp.get ( '/' , ( yêu cầu, phản hồi ) = > {
phản hồi.send ( 'Xin chào cộng đồng Linuxhint!' ) ;
} ) ;

settingServer.listen ( 8000 ) ;


Mô tả của đoạn mã trên:

    • Ban đầu, hãy nhập Node.js cần thiết “ fs ',' thể hiện ', Và ' https ” phụ thuộc trong dự án của bạn và khởi tạo ứng dụng “express” với tên “ ứng dụng an toàn ”.
    • Bây giờ, hãy tạo một “ tùy chọn ” liệt kê và chuyển các tập tin cho khóa riêng và chứng chỉ “ chìa khóa ' Và ' chứng chỉ ' của cải. Các tập tin có thể được thực hiện bằng cách sử dụng “ openssl ” lệnh và các tệp này giúp bảo mật các kết nối.
    • Cuối cùng, tạo một máy chủ bằng cách gọi “ createServer() ” phương thức và truyền “ tùy chọn ” mảng làm tham số đầu tiên và express app làm tham số thứ hai.
    • Để áp dụng xác thực TSL/SSL trên ứng dụng, hãy gửi hoặc nhận yêu cầu bằng cách sử dụng “ lấy() ”Phương pháp theo yêu cầu.

Phương pháp 3: Bảo vệ chương trình Node.js bằng cách sử dụng đầu ra thoát

Để ngăn ứng dụng Node.js của bạn tạo tập lệnh chéo trang “ XSS ” tấn công, kỹ thuật phổ biến và phổ biến nhất là thoát các ký tự đặc biệt khỏi đầu ra. Các ký tự đặc biệt được chuyển đổi sang định dạng HTML để ngăn chặn các cuộc tấn công XSS và việc chuyển đổi được thực hiện thông qua “ thoát-html ” đối tượng gói:

const escObj = yêu cầu ( 'thoát-html' ) ;
const giảStr = '' ;

const modStr = escObj ( ngu ngốcStr ) ;
console.log ( truy cậpStr ) ;


Mô tả của đoạn mã trên như sau:

    • Đầu tiên ' thoát-html ” gói được nhập vào chính “ js ” và đối tượng hoặc phiên bản của nó được lưu trữ trong tệp “ escObj ' Biến đổi.
    • Tiếp theo, một dòng mã ngẫu nhiên chứa các ký tự đặc biệt được lưu trữ trong một “ ngu ngốcStr ' Biến đổi.
    • Sau đó, vượt qua “ ngu ngốcStr ” biến bên trong “ escObj ” dấu ngoặc đơn cho mã chuyển đổi sang định dạng HTML thuần túy.
    • Kết quả được lưu trữ trong một biến “ truy cậpStr ” sau đó được hiển thị trên bảng điều khiển.

Đầu ra của đoạn mã trên cho thấy các ký tự đặc biệt chứa chuỗi được cung cấp hiện được chuyển đổi sang định dạng mã hóa HTML:


Đó là tất cả về việc thực hiện phát hiện thủ công bằng các biện pháp bảo vệ trong Nodejs.

Phần kết luận

Để thực hiện phát hiện thủ công, hãy xem lại mã của bạn nhiều lần để tìm bất kỳ loại lỗi cú pháp hoặc logic nào và thực hiện nhiều lần kiểm tra mã. Để bảo vệ chương trình Node.js của bạn khỏi mọi loại tấn công mạng hoặc ngăn chặn rò rỉ dữ liệu, hãy sử dụng lệnh “ Giới hạn tỷ lệ ',' TLS/SSL để truyền dữ liệu ', Và ' Đầu ra thoát “ kỹ thuật. Hướng dẫn này đã minh họa quy trình thực hiện phát hiện thủ công bằng các biện pháp bảo vệ trong Node.js.