Paano Magsagawa ng Manu-manong Pagtukoy gamit ang Mga Safeguard sa Node.js

Paano Magsagawa Ng Manu Manong Pagtukoy Gamit Ang Mga Safeguard Sa Node Js



Ang pagtuklas para sa mga kahinaan, pagprotekta sa iyong code mula sa lahat ng uri ng cyber-attack, at pagpigil sa mga pagtagas ng memorya ay ang pinakamahalagang tungkulin ng isang programmer. Ang pagtuklas at paghula na ito ng iyong mga kahinaan na naninirahan sa loob ng code ay napakahirap at isang proseso din na tumatagal. Gayunpaman, mayroong ilang mga diskarte kung saan ang manu-manong pagtuklas kasama ang proseso ng pag-iingat sa application ay maaaring gawin sa Nodejs.

Ipapaliwanag ng artikulong ito ang mga diskarte upang maisagawa ang manu-manong pagtuklas na may mga pananggalang sa Nodejs sa pamamagitan ng pagsakop sa mga seksyon sa ibaba:







    • Paggamit ng Rate Limiter
    • Paggamit ng TLS/SSL para sa Paghahatid ng Data
    • Mga Escape Output

Paano Magsagawa ng Manu-manong Detection Gamit ang Mga Safeguard sa Node.js

Isinasagawa ang manu-manong pagtuklas sa pamamagitan ng pagsusuri sa code nang maraming beses upang matukoy ang mga potensyal na problema sa Node.js code. Ang mga potensyal na problema ay nakuha sa pamamagitan ng paghahanap para sa mga error sa syntax, mga lohikal na error, at iba pa. Ang gamit ng ' debugger 'at' linters ” ay maaari ding gamitin upang matukoy ang mga potensyal na banta o error na naninirahan sa loob ng programang Node.js.



Mayroong iba't ibang mga pamamaraan kung saan mapoprotektahan ang code mula sa lahat ng uri ng potensyal na mga thread habang pinapahusay ang buhay ng iyong code. Ang mga pamamaraang ito ay nakalista sa ibaba:



Paraan 1: Pangalagaan ang Node.js Program sa pamamagitan ng Paggamit ng Rate Limiter

Upang pigilan ang iyong aplikasyon mula sa mga pag-atake sa pagtanggi sa serbisyo at upang mapabuti ang pagganap ng iyong aplikasyon sa pamamagitan ng pagpigil sa napakaraming kahilingan. Ang praktikal na pagpapatupad ay ipinapakita sa ibaba:





const express = nangangailangan ( 'express' ) ;
const rateLim = nangangailangan ( 'express-rate-limit' ) ;
const safeApp = express ( ) ;

// Tukuyin ang middleware na naglilimita sa rate
const limiting = rateLim ( {
windowMs: 60 * 1000 ,
max: 100 , // Max req bawat min
mensahe: 'Pasensya na! Lumampas na sa limitasyon ng rate' ,
} ) ;
// Ilapat ang middleware na naglilimita sa rate
safeApp.use ( naglilimita ) ;
// Tukuyin ang isang ruta at tagapangasiwa ng tugon
safeApp.get ( '/' , ( kahilingan, tugon ) = > {
tugon.ipadala ( 'Hello Linuxhint Community!' ) ;
} ) ;

// Sinisimulan ang Express server
const localPort = process.env.PORT || 3000 ;
safeApp.makinig ( localPort, ( ) = > {
console.log ( ` Nagsimula ang server sa numero ng port: ${localPort}


Sa code sa itaas:

    • Una, i-import ang ' ipahayag 'at' express-rate-limit 'mga pakete sa pangunahing' js ” file. Simulan ang ' express() 'application at italaga dito ang pangalan' safeApp ”.
    • Susunod, tukuyin ang isang middleware na naglilimita sa rate sa pamamagitan ng pagpasa ng mga custom na halaga para sa ' windowsMs ',' max ”, at “ mensahe 'mga katangian sa ' express-rate-limit ” pakete.
    • Ngayon, ilapat ang rate limiter na ito sa express application sa pamamagitan ng paggamit ng “ gamitin() ” paraan.
    • Pagkatapos, gamitin ang ' kumuha () ” paraan upang magpadala ng random na mensahe bilang kahilingan sa server.
    • Panghuli, itakda ang numero ng port gamit ang “ env.PORT ” property at gawin ang express app na makinig sa tinukoy na port number.

Paraan 2: Pangalagaan ang Node.js Program sa pamamagitan ng Paggamit ng TLS/SSL para sa Data Transmission

Ang TLS/SSL ay isang secure na socket layer na nag-e-encrypt ng data na ipinapadala sa pagitan ng server at client side. Pinoprotektahan nito ang sensitibong data tulad ng mga numero ng credit card mula sa pagharang ng mga umaatake at nakakatulong din ito sa iyong matugunan ang mga kinakailangan sa pagsunod:



const fs = nangangailangan ( 'fs' ) ;
const express = nangangailangan ( 'express' ) ;
const httpsObj = nangangailangan ( 'https' ) ;

const safeApp = express ( ) ;
mga pagpipilian sa const = {
key: fs.readFileSync ( 'key.pem' ) ,
cert: fs.readFileSync ( 'cert.pem' ) ,
} ;

const settingServer = httpsObj.createServer ( mga pagpipilian, safeApp ) ;

safesafeApp.get ( '/' , ( kahilingan, tugon ) = > {
tugon.ipadala ( 'Hello Linuxhint Community!' ) ;
} ) ;

settingServer.makinig ( 8000 ) ;


Ang paglalarawan ng code sa itaas:

    • Sa una, i-import ang kinakailangang Node.js “ fs ',' ipahayag ”, at “ https ” dependencies sa iyong proyekto at simulan ang “express” application na may pangalang “ safeApp ”.
    • Ngayon, lumikha ng ' mga pagpipilian 'ilista at ipasa ang mga file para sa pribadong susi at sertipiko' susi 'at' cert ' ari-arian. Ang mga file ay maaaring gawin gamit ang ' openssl ” command at ang mga file na ito ay nakakatulong sa pag-secure ng mga koneksyon.
    • Sa wakas, lumikha ng isang server sa pamamagitan ng paggamit ng ' createServer() 'paraan at ipasa ang' mga pagpipilian ” array bilang unang parameter at express app bilang pangalawa.
    • Upang ilapat ang pagpapatunay ng TSL/SSL sa aplikasyon, ipadala o tanggapin ang kahilingan gamit ang “ kumuha () ” paraan ayon sa mga kinakailangan.

Paraan 3: Pangalagaan ang Node.js Program sa pamamagitan ng Paggamit sa Mga Escape Output

Upang pigilan ang iyong Node.js application mula sa cross-site scripting “ XSS ” pag-atake, ang pinakakaraniwan at mas sikat na pamamaraan ay ang pagtakas ng mga espesyal na karakter mula sa output. Ang mga espesyal na character ay kino-convert sa HTML na format upang maiwasan ang mga pag-atake ng XSS at ang conversion ay ginagawa sa pamamagitan ng ' escape-html ” object ng package:

const escObj = nangangailangan ( 'escape-html' ) ;
const dummyStr = '' ;

const modStr = escObj ( dummyStr ) ;
console.log ( counterStr ) ;


Ang paglalarawan ng code sa itaas ay ang mga sumusunod:

    • Una, ang ' escape-html 'Ang package ay na-import sa pangunahing' js ” file at ang object o instance nito ay naka-imbak sa isang “ escObj ” variable.
    • Susunod, ang isang random na linya ng code na naglalaman ng mga espesyal na character ay naka-imbak sa isang ' dummyStr ” variable.
    • Pagkatapos nito, ipasa ang ' dummyStr ” variable sa loob ng “ escObj ” parenthesis para sa conversion code sa purong HTML na format.
    • Ang resulta ay naka-imbak sa isang variable ' counterStr ” na pagkatapos ay ipinapakita sa console.

Ang output ng code sa itaas ay nagpapakita na ang mga espesyal na character na naglalaman ng ibinigay na string ay na-convert na ngayon sa HTML encoding format:


Iyon ay tungkol sa pagsasagawa ng manu-manong pagtuklas na may mga pananggalang sa Nodejs.

Konklusyon

Upang magsagawa ng manu-manong pagtuklas, suriin ang iyong code nang maraming beses para sa anumang uri ng syntax o lohikal na mga error at magsagawa ng maraming pagsubok sa code. Upang mapangalagaan ang iyong Node.js program mula sa lahat ng uri ng cyber-attack o upang maiwasan ang pagtagas ng data, gamitin ang “ Limitasyon ng Rate ',' TLS/SSL para sa Paghahatid ng Data ”, at “ Mga Escape Output ” mga diskarte. Inilarawan ng gabay na ito ang pamamaraan ng pagsasagawa ng manual detection na may mga pananggalang sa Node.js.