Kézi észlelés végrehajtása a Node.js védintézkedéseivel

Kezi Eszleles Vegrehajtasa A Node Js Vedintezkedeseivel



A sebezhetőségek felderítése, a kód védelme minden típusú kibertámadástól és a memóriaszivárgások megakadályozása a programozó legfontosabb feladatai. A kódban rejlő sérülékenységek észlelése és előrejelzése nagyon nehéz és időigényes folyamat. Számos megközelítés létezik azonban, amellyel a kézi észlelés és az alkalmazás védelmének folyamata elvégezhető a Nodejs-ben.

Ez a cikk elmagyarázza a Nodejs-ben a biztosítékokkal végzett kézi észlelés módszereit az alábbi szakaszok áttekintésével:







    • Rate Limiter használata
    • TLS/SSL használata adatátvitelhez
    • Escape kimenetek

Kézi észlelés végrehajtása a Node.js védintézkedéseivel

A kézi észlelés a kód többszöri áttekintésével történik, hogy azonosítsa a Node.js kód lehetséges problémáit. A lehetséges problémákat szintaktikai hibák, logikai hibák stb. A ... haszna ' hibakereső ” és „ linterek ” is használható a Node.js programon belüli potenciális fenyegetések vagy hibák azonosítására.



Különféle módszerek léteznek, amelyekkel a kód megóvható mindenféle potenciális száltól, miközben meghosszabbítja a kód élettartamát. Ezeket a módszereket az alábbiakban soroljuk fel:



1. módszer: Védje meg a Node.js programot a Rate Limiter használatával

Alkalmazásának szolgáltatásmegtagadási támadások megakadályozása és az alkalmazás teljesítményének javítása a túl sok kérés megakadályozásával. A gyakorlati megvalósítás az alábbiakban látható:





const express = megköveteli ( 'Expressz' ) ;
const rateLim = megköveteli ( 'express-rate-limit' ) ;
const safeApp = expressz ( ) ;

// Határozzon meg egy sebességkorlátozó köztes szoftvert
const limiting = rateLim ( {
windowsMs: 60 * 1000 ,
max: 100 , // Max req per perc
üzenet: 'Sajnálom! A díjkorlát túllépve' ,
} ) ;
// Alkalmazza a sebességkorlátozó köztes szoftvert
safeApp.use ( korlátozó ) ;
// Határozzon meg egy útvonalat és válaszkezelőt
safeApp.get ( '/' , ( kérés, válasz ) = > {
válasz.küld ( 'Hello Linuxhint Community!' ) ;
} ) ;

// Az Express szerver inicializálása
const localPort = process.env.PORT || 3000 ;
safeApp.listen ( localPort, ( ) = > {
console.log ( ` A szerver elindult a következő portszámon: ${localPort}


A fenti kódban:

    • Először importálja a „ Expressz ” és „ expressz kamatkorlát ' csomagok a főbe ' js ” fájlt. Inicializálja a „ Expressz() ' alkalmazást, és rendelje hozzá a nevet ' safeApp ”.
    • Ezután adjon meg egy sebességkorlátozó köztes szoftvert a „ windowsMs ', ' max ”, és „ üzenet ' tulajdonságok a ' expressz kamatkorlát ” csomagot.
    • Most alkalmazza ezt a sebességkorlátozót az expressz alkalmazáson a „ használat() ” módszerrel.
    • Ezután használja a „ kap() ” módszerrel véletlenszerű üzenetet küldhet kérésként a szerveren keresztül.
    • Végül állítsa be a portszámot a „ env.PORT ” tulajdonságot, és az expressz alkalmazást hallgassa a megadott portszámra.

2. módszer: Védje meg a Node.js programot a TLS/SSL használatával az adatátvitelhez

A TLS/SSL egy biztonságos socket réteg, amely titkosítja a szerver és a kliens oldal között továbbított adatokat. Ez megvédi az érzékeny adatokat, például a hitelkártyaszámokat a támadók általi elfogástól, és segít a megfelelőségi követelmények teljesítésében is:



const fs = megköveteli ( 'fs' ) ;
const express = megköveteli ( 'Expressz' ) ;
const httpsObj = megkövetelik ( 'https' ) ;

const safeApp = expressz ( ) ;
const opciók = {
kulcs: fs.readFileSync ( 'key.pem' ) ,
tanúsítvány: fs.readFileSync ( 'cert.pem' ) ,
} ;

const settingsServer = httpsObj.createServer ( opciók, safeApp ) ;

safesafeApp.get ( '/' , ( kérés, válasz ) = > {
válasz.küld ( 'Hello Linuxhint Community!' ) ;
} ) ;

beállításServer.listen ( 8000 ) ;


A fenti kód leírása:

    • Először importálja a szükséges Node.js ' fs ', ' Expressz ”, és „ https ” függőségeket a projektben, és inicializálja az „expressz” alkalmazást a „ safeApp ”.
    • Most hozzon létre egy ' lehetőségek ' listázza ki és adja át a privát kulcshoz és tanúsítványhoz tartozó fájlokat ' kulcs ” és „ cert ” tulajdonságait. A fájlok a „ openssl ” parancsot, és ezek a fájlok segítenek a kapcsolatok biztosításában.
    • Végül hozzon létre egy szervert a ' CreateServer() ” módszert, és adja át a „ lehetőségek ” tömböt az első paraméterként, az expressz alkalmazást pedig a másodikként.
    • A TSL/SSL hitelesítés alkalmazáson keresztül történő alkalmazásához küldje el vagy fogadja a kérést a „ kap() ” módszert a követelményeknek megfelelően.

3. módszer: Óvja meg a Node.js programot az Escape kimenetek használatával

Annak megakadályozása érdekében, hogy a Node.js alkalmazás webhelyek közötti szkripteket írjon le ' XSS ” támadások esetén a legelterjedtebb és legnépszerűbb technika a speciális karakterek kiszökése a kimenetből. A speciális karaktereket a rendszer HTML formátumba konvertálja, hogy megakadályozza az XSS támadásokat, és az átalakítás a „ escape-html ” csomag objektum:

const escObj = megkövetelik ( 'Escape-html' ) ;
const dummyStr = '' ;

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


A fenti kód leírása a következő:

    • Először is a „ escape-html ' csomag importálva a főbe' js ' fájl és objektuma vagy példánya egy ' escObj ” változó.
    • Ezután egy speciális karaktereket tartalmazó véletlenszerű kódsor kerül tárolásra egy „ dummyStr ” változó.
    • Ezt követően haladjon át a „ dummyStr ' változó a ' escObj ” zárójel a kód tiszta HTML formátumba való konvertálásához.
    • Az eredmény egy változóban van tárolva counterStr ”, amely ezután megjelenik a konzolon.

A fenti kód kimenete azt mutatja, hogy a megadott karakterláncot tartalmazó speciális karakterek most HTML kódolási formátumba konvertálódnak:


Ez mind arról szól, hogy kézi észlelést kell végrehajtani a Nodejs biztosítékaival.

Következtetés

A kézi észlelés végrehajtásához többször ellenőrizze a kódot bármilyen szintaktikai vagy logikai hiba szempontjából, és végezzen többszöri tesztet a kódon. Ha meg szeretné óvni Node.js programját mindenféle kibertámadástól, vagy megelőzni az adatok kiszivárgását, használja a „ Rate Limiter ', ' TLS/SSL adatátvitelhez ”, és „ Escape kimenetek ” technikák. Ez az útmutató bemutatja a kézi észlelés végrehajtásának eljárását a Node.js védintézkedéseivel.