Ako vykonať manuálnu detekciu s ochrannými prvkami v Node.js

Ako Vykonat Manualnu Detekciu S Ochrannymi Prvkami V Node Js



Detekcia zraniteľností, ochrana vášho kódu pred všetkými typmi kybernetických útokov a zabránenie úniku pamäte sú najdôležitejšie povinnosti programátora. Táto detekcia a predikcia vašich zraniteľností nachádzajúcich sa v kóde je veľmi náročná a tiež časovo náročný proces. Existuje však niekoľko prístupov, ktorými je možné v Nodejs vykonať manuálnu detekciu spolu s procesom zabezpečenia aplikácie.

Tento článok vysvetlí prístupy k vykonávaniu manuálnej detekcie so zabezpečením v Nodejs tým, že pokryje nasledujúce časti:







    • Používanie obmedzovača sadzby
    • Použitie TLS/SSL na prenos dát
    • Únikové výstupy

Ako vykonať manuálnu detekciu s ochrannými prvkami v Node.js

Manuálna detekcia sa vykonáva viacnásobnou kontrolou kódu, aby sa identifikovali potenciálne problémy v kóde Node.js. Potenciálne problémy sa získavajú hľadaním syntaktických chýb, logických chýb atď. Použitie ' debugger “ a „ linters ” možno použiť aj na identifikáciu potenciálnych hrozieb alebo chýb v programe Node.js.



Existujú rôzne metódy, pomocou ktorých je možné kód ochrániť pred všetkými druhmi potenciálnych vlákien a zároveň predĺžiť životnosť vášho kódu. Tieto metódy sú uvedené nižšie:



Metóda 1: Zabezpečte program Node.js využitím obmedzovača rýchlosti

Zabrániť vašej aplikácii útokom odmietnutia služby a zlepšiť výkon vašej aplikácie zabránením príliš veľkému množstvu požiadaviek. Praktická implementácia je uvedená nižšie:





const express = vyžadovať ( 'expresné' ) ;
const rateLim = vyžadovať ( 'expres-rate-limit' ) ;
const safeApp = expresné ( ) ;

// Definujte middleware obmedzujúci rýchlosť
const limiting = rateLim ( {
windowMs: 60 * 1000 ,
max: 100 , // Max požiadavka za min
správa: 'Prepáč! Limit sadzby je prekročený“ ,
} ) ;
// Použite middleware obmedzujúci rýchlosť
safeApp.use ( obmedzujúce ) ;
// Definujte obslužný program trasy a odpovede
safeApp.get ( '/' , ( žiadosť, odpoveď ) = > {
odpoveď.odoslať ( 'Ahoj komunita Linuxhint!' ) ;
} ) ;

// Inicializuje sa expresný server
const localPort = process.env.PORT || 3000 ;
safeApp.počúvať ( localPort, ( ) = > {
konzola.log ( ` Server sa spustil na čísle portu: ${localPort}


Vo vyššie uvedenom kóde:

    • Najprv importujte súbor „ expresné “ a „ expresný limit “balíčky do hlavnej “ js “. Inicializujte „ expresné() “aplikácia a priraďte jej názov” safeApp “.
    • Ďalej definujte middleware obmedzujúci rýchlosť odovzdaním vlastných hodnôt pre „ windowsMs ',' max “ a „ správu vlastnosti v časti „ expresný limit “balíček.
    • Teraz použite tento obmedzovač rýchlosti na expresnú aplikáciu pomocou „ použiť() “.
    • Potom použite „ dostať () ” na odoslanie náhodnej správy ako požiadavky cez server.
    • Nakoniec nastavte číslo portu pomocou „ env.PORT ” a prinúti expresnú aplikáciu počúvať zadané číslo portu.

Metóda 2: Zabezpečte program Node.js využitím TLS/SSL na prenos údajov

TLS/SSL je zabezpečená soketová vrstva, ktorá šifruje dáta prenášané medzi serverom a klientskou stranou. To chráni citlivé údaje, ako sú čísla kreditných kariet, pred zachytením útočníkmi a tiež vám to pomáha splniť požiadavky na súlad:



const fs = vyžadovať ( 'fs' ) ;
const express = vyžadovať ( 'expresné' ) ;
const httpsObj = vyžadovať ( „https“ ) ;

const safeApp = expresné ( ) ;
const možnosti = {
kľúč: fs.readFileSync ( 'key.pem' ) ,
cert: fs.readFileSync ( 'cert.pem' ) ,
} ;

const settingServer = httpsObj.createServer ( možnosti, safeApp ) ;

safesafeApp.get ( '/' , ( žiadosť, odpoveď ) = > {
odpoveď.odoslať ( 'Ahoj komunita Linuxhint!' ) ;
} ) ;

settingServer.počúvať ( 8000 ) ;


Popis vyššie uvedeného kódu:

    • Najprv importujte požadovaný súbor Node.js “ fs ',' expresné “ a „ https závislosti vo vašom projekte a inicializujte aplikáciu „express“ s názvom „ safeApp “.
    • Teraz vytvorte „ možnosti “vypísať a odovzdať súbory pre súkromný kľúč a certifikát” kľúč “ a „ cert vlastnosti. Súbory je možné vytvoriť pomocou „ openssl “ a tieto súbory pomáhajú pri zabezpečení pripojení.
    • Nakoniec vytvorte server vyvolaním príkazu „ createServer() “ a prejsť metódou “ možnosti ” pole ako prvý parameter a expresnú aplikáciu ako druhý.
    • Ak chcete na aplikáciu použiť autentifikáciu TSL/SSL, odošlite alebo prijmite požiadavku pomocou „ dostať () “ metóda podľa požiadaviek.

Metóda 3: Zabezpečte program Node.js využitím únikových výstupov

Ak chcete zabrániť vašej aplikácii Node.js v skriptovaní medzi stránkami “ XSS ” útoky, najbežnejšou a najobľúbenejšou technikou je únik špeciálnych znakov z výstupu. Špeciálne znaky sú konvertované do formátu HTML, aby sa zabránilo útokom XSS a konverzia sa vykonáva pomocou „ escape-html ”objekt balíka:

const escObj = vyžadovať ( 'escape-html' ) ;
const dummyStr = '' ;

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


Popis vyššie uvedeného kódu je nasledujúci:

    • Po prvé, „ escape-html “balíček sa importuje do hlavného “ js “ súbor a jeho objekt alebo inštancia sú uložené v „ escObj “premenná.
    • Ďalej sa náhodný riadok kódu obsahujúci špeciálne znaky uloží do „ dummyStr “premenná.
    • Potom prejdite „ dummyStr 'premenná vnútri ' escObj ” zátvorka pre kód prevodu do čistého formátu HTML.
    • Výsledok je uložený v premennej „ counterStr “, ktorý sa potom zobrazí na konzole.

Výstup vyššie uvedeného kódu ukazuje, že špeciálne znaky obsahujúce zadaný reťazec sú teraz konvertované do formátu kódovania HTML:


To je všetko o vykonávaní manuálnej detekcie so zabezpečením v Nodejs.

Záver

Ak chcete vykonať manuálne zisťovanie, viackrát skontrolujte kód, či neobsahuje nejaký typ syntaxe alebo logických chýb a vykonajte viacero testov kódu. Ak chcete chrániť svoj program Node.js pred všetkými druhmi kybernetických útokov alebo zabrániť úniku údajov, použite „ Obmedzovač rýchlosti ',' TLS/SSL na prenos dát “ a „ Únikové výstupy “techniky. Táto príručka ilustruje postup vykonávania manuálnej detekcie so zabezpečením v Node.js.