Cum se efectuează detectarea manuală cu măsuri de siguranță în Node.js

Cum Se Efectueaza Detectarea Manuala Cu Masuri De Siguranta In Node Js



Detectarea vulnerabilităților, protejarea codului de toate tipurile de atacuri cibernetice și prevenirea scurgerilor de memorie sunt cele mai esențiale sarcini ale unui programator. Această detectare și predicție a vulnerabilităților dvs. care rezidă în cod este foarte dificilă și, de asemenea, un proces consumator de timp. Cu toate acestea, există mai multe abordări prin care detectarea manuală împreună cu procesul de salvgardare a aplicației se poate face în Nodejs.

Acest articol va explica abordările pentru a efectua detectarea manuală cu garanții în Nodejs, acoperind secțiunile de mai jos:







    • Utilizarea Rate Limiter
    • Utilizarea TLS/SSL pentru transmiterea datelor
    • Ieșiri de evacuare

Cum se efectuează detectarea manuală cu măsuri de siguranță în Node.js

Detectarea manuală este efectuată prin revizuirea codului de mai multe ori pentru a identifica potențiale probleme în codul Node.js. Potențialele probleme sunt recuperate prin căutarea erorilor de sintaxă, erori logice și așa mai departe. Utilizarea ' depanator ' și ' linters ” poate fi, de asemenea, utilizat pentru a identifica potențialele amenințări sau erori care apar în programul Node.js.



Există diverse metode prin care codul poate fi protejat de tot felul de fire potențiale, sporind în același timp durata de viață a codului. Aceste metode sunt enumerate mai jos:



Metoda 1: Protejați programul Node.js utilizând limitatorul de rată

Pentru a preveni atacurile de refuz de serviciu și pentru a îmbunătăți performanța aplicației prin prevenirea prea multor solicitări. Implementarea practică este prezentată mai jos:





const express = require ( 'expres' ) ;
const rateLim = cere ( „limită-rată-expressă” ) ;
const safeApp = expres ( ) ;

// Definiți un middleware care limitează rata
const limiting = rateLim ( {
windowMs: 60 * 1000 ,
max: 100 , // Necesar maxim pe min
mesaj: 'Îmi pare rău! Limita ratei este depășită” ,
} ) ;
// Aplicați middleware-ul de limitare a ratei
safeApp.use ( limitare ) ;
// Definiți o rută și un handler de răspuns
safeApp.get ( '/' , ( cere raspuns ) = > {
răspuns.trimite ( „Salut comunitatea Linuxhint!” ) ;
} ) ;

// Inițializarea serverului Express
const localPort = process.env.PORT || 3000 ;
safeApp.ascultă ( local Port, ( ) = > {
console.log ( ` Serverul a pornit pe numărul portului: ${localPort}


În codul de mai sus:

    • Mai întâi, importați „ expres ' și ' limita-rată-express „pachete în principalul „ js ” dosar. Inițializați „ expres() ” aplicație și atribuiți-i numele “ safeApp ”.
    • Apoi, definiți un middleware care limitează rata prin transmiterea valorilor personalizate pentru „ ferestreMs ', ' max ', și ' mesaj ” proprietăți din ” limita-rată-express ' pachet.
    • Acum, aplicați acest limitator de rată peste aplicația expres utilizând „ utilizare() ” metoda.
    • Apoi, utilizați „ obține() ” pentru a trimite un mesaj aleator ca cerere pe server.
    • În cele din urmă, setați numărul portului folosind „ env.PORT ” și faceți ca aplicația expres să asculte numărul de port specificat.

Metoda 2: Protejați programul Node.js prin utilizarea TLS/SSL pentru transmiterea datelor

TLS/SSL este un strat de socket securizat care criptează datele care sunt transmise între server și partea client. Acest lucru protejează datele sensibile, cum ar fi numerele de card de credit, împotriva interceptării de către atacatori și, de asemenea, vă ajută să îndepliniți cerințele de conformitate:



const fs = cere ( „fs” ) ;
const express = require ( 'expres' ) ;
const httpsObj = necesită ( 'https' ) ;

const safeApp = expres ( ) ;
opțiuni const = {
cheie: fs.readFileSync ( „key.pem” ) ,
certificat: fs.readFileSync ( „cert.pem” ) ,
} ;

const settingServer = httpsObj.createServer ( opțiuni, safeApp ) ;

safesafeApp.get ( '/' , ( cere raspuns ) = > {
răspuns.trimite ( „Bună ziua comunității Linuxhint!” ) ;
} ) ;

settingServer.ascultă ( 8000 ) ;


Descrierea codului de mai sus:

    • Inițial, importați Node.js necesar „ fs ', ' expres ', și ' https ” din proiectul dumneavoastră și inițializați aplicația „express” cu numele „ safeApp ”.
    • Acum, creați un „ Opțiuni ” listează și transmite fișierele pentru cheia privată și certificatul ” cheie ' și ' cert ” proprietăți. Fișierele pot fi făcute folosind „ openssl ” iar aceste fișiere ajută la securizarea conexiunilor.
    • În cele din urmă, creați un server invocând „ createServer() ” și treceți „ Opțiuni ” matrice ca prim parametru și aplicația expresă ca al doilea.
    • Pentru a aplica autentificarea TSL/SSL peste aplicație, trimiteți sau primiți cererea folosind „ obține() ” metoda conform cerințelor.

Metoda 3: Protejați programul Node.js utilizând ieșirile de evacuare

Pentru a împiedica aplicația dvs. Node.js să facă scripturi între site-uri „ XSS ” atacuri, cea mai comună și mai populară tehnică este scăparea caracterelor speciale din ieșire. Caracterele speciale sunt convertite în format HTML pentru a preveni atacurile XSS, iar conversia se face prin intermediul „ escape-html ” obiect pachet:

const escObj = cere ( „escape-html” ) ;
const dummyStr =' ;

const modStr = escObj ( manechinStr ) ;
console.log ( contraStr ) ;


Descrierea codului de mai sus este următoarea:

    • În primul rând, „ escape-html „pachetul este importat în principalul „ js ” și obiectul sau instanța acestuia este stocat într-un „ escObj ' variabil.
    • Apoi, o linie aleatorie de cod care conține caractere speciale este stocată într-un „ manechinStr ' variabil.
    • După aceea, treceți „ manechinStr „variabilă în interiorul „ escObj ” paranteză pentru codul de conversie în format HTML pur.
    • Rezultatul este stocat într-o variabilă „ contraStr ” care este apoi afișat pe consolă.

Rezultatul codului de mai sus arată că caracterele speciale care conțin șirul furnizat sunt acum convertite în format de codificare HTML:


Acesta este totul despre efectuarea detectării manuale cu garanții în Nodejs.

Concluzie

Pentru a efectua detectarea manuală, verificați codul de mai multe ori pentru orice tip de sintaxă sau erori logice și efectuați mai multe teste asupra codului. Pentru a vă proteja programul Node.js de tot felul de atacuri cibernetice sau pentru a preveni scurgerea datelor, utilizați „ Limitator de rată ', ' TLS/SSL pentru transmiterea datelor ', și ' Ieșiri de evacuare ” tehnici. Acest ghid a ilustrat procedura de realizare a detectării manuale cu garanții în Node.js.