Handmatige detectie uitvoeren met beveiligingen in Node.js

Handmatige Detectie Uitvoeren Met Beveiligingen In Node Js



Detectie van kwetsbaarheden, het beschermen van uw code tegen alle soorten cyberaanvallen en het voorkomen van geheugenlekken zijn de meest essentiële taken van een programmeur. Deze detectie en voorspelling van uw kwetsbaarheden in de code is erg moeilijk en ook een tijdrovend proces. Er zijn echter verschillende benaderingen waarmee handmatige detectie en het proces van het beveiligen van de applicatie in Nodejs kunnen worden uitgevoerd.

In dit artikel worden de benaderingen uitgelegd voor het uitvoeren van handmatige detectie met beveiligingen in Nodejs door de onderstaande secties te behandelen:







    • Gebruik van snelheidsbegrenzer
    • Gebruik van TLS/SSL voor gegevensoverdracht
    • Escape-uitgangen

Handmatige detectie uitvoeren met beveiligingen in Node.js

De handmatige detectie wordt uitgevoerd door de code meerdere keren te beoordelen om potentiële problemen in de Node.js-code te identificeren. De potentiële problemen worden opgehaald door te zoeken naar syntaxisfouten, logische fouten, enzovoort. Het gebruik van ' debugger ' En ' linters ' kan ook worden gebruikt om potentiële bedreigingen of fouten in het Node.js-programma te identificeren.



Er zijn verschillende methoden waarmee de code kan worden beschermd tegen allerlei mogelijke threads, terwijl de levensduur van uw code wordt verlengd. Deze methoden worden hieronder vermeld:



Methode 1: Beveilig het Node.js-programma door gebruik te maken van de Rate Limiter

Om te voorkomen dat uw applicatie Denial-of-Service-aanvallen krijgt en om de prestaties van uw applicatie te verbeteren door te veel verzoeken te voorkomen. Hieronder ziet u de praktische uitvoering:





const express = vereisen ( 'nadrukkelijk' ) ;
const rateLim = vereisen ( 'Express-tarieflimiet' ) ;
const safeApp = express ( ) ;

// Definieer een snelheidsbeperkende middleware
const beperkend = rateLim ( {
vensterMevrouw: 60 * 1000 ,
maximaal: 100 , // Max. vereiste per min
bericht: 'Sorry! Tarieflimiet is overschreden' ,
} ) ;
// Pas de snelheidsbeperkende middleware toe
safeApp.gebruik ( beperkend ) ;
// Definieer een route- en responshandler
safeApp.get ( '/' , ( aanvraag antwoord ) = > {
reactie.verzenden ( 'Hallo Linuxhint-gemeenschap!' ) ;
} ) ;

// Initialiseren van de Express-server
const localPort = proces.env.PORT || 3000 ;
safeApp.luister ( lokale poort, ( ) = > {
console.log ( ` Server is gestart op poortnummer: ${localPort}


In de bovenstaande code:

    • Importeer eerst de “ nadrukkelijk ' En ' express-snelheidslimiet ”pakketten in de hoofdmap” js ' bestand. Initialiseer de “ nadrukkelijk() 'applicatie en geef deze de naam' veiligeApp ”.
    • Definieer vervolgens een snelheidsbeperkende middleware door de aangepaste waarden voor “ ramenMevrouw ', ' maximaal ', En ' bericht ” eigenschappen in de “ express-snelheidslimiet ' pakket.
    • Pas nu deze snelheidsbegrenzer toe op de uitdrukkelijke toepassing door gebruik te maken van de “ gebruik() methode.
    • Gebruik dan de “ krijgen() ”-methode om een ​​willekeurig bericht als verzoek via de server te verzenden.
    • Stel ten slotte het poortnummer in met behulp van de “ omgeving.POORT 'eigenschap en laat de express-app naar het opgegeven poortnummer luisteren.

Methode 2: Beveilig het Node.js-programma door gebruik te maken van TLS/SSL voor gegevensoverdracht

TLS/SSL is een beveiligde socketlaag die de gegevens codeert die worden verzonden tussen de server en de clientzijde. Dit beschermt gevoelige gegevens zoals creditcardnummers tegen onderschepping door aanvallers en helpt u ook om aan de nalevingsvereisten te voldoen:



const fs = vereisen ( 'fs' ) ;
const express = vereisen ( 'nadrukkelijk' ) ;
const httpsObj = vereisen ( 'https' ) ;

const safeApp = express ( ) ;
const opties = {
sleutel: fs.readFileSync ( 'sleutel.pem' ) ,
cert: fs.readFileSync ( 'cert.pem' ) ,
} ;

const settingServer = httpsObj.createServer ( opties, safeApp ) ;

safesafeApp.get ( '/' , ( aanvraag antwoord ) = > {
reactie.verzenden ( 'Hallo Linuxhint-gemeenschap!' ) ;
} ) ;

settingServer.luisteren ( 8000 ) ;


De beschrijving van de bovenstaande code:

    • Importeer in eerste instantie de vereiste Node.js “ fs ', ' nadrukkelijk ', En ' https ” afhankelijkheden in uw project en initialiseer de “express” applicatie met de naam “ veiligeApp ”.
    • Maak nu een “ opties ” Maak een lijst en geef de bestanden door voor de privésleutel en het certificaat “ sleutel ' En ' cert ' eigenschappen. De bestanden kunnen worden gemaakt met behulp van de “ opensl ”-opdracht en deze bestanden helpen bij het beveiligen van de verbindingen.
    • Maak ten slotte een server door het aanroepen van de “ createServer() ”-methode en geef de “ opties ”array als de eerste parameter en express app als de tweede.
    • Om de TSL/SSL-authenticatie via de applicatie toe te passen, verzendt of ontvangt u het verzoek met behulp van de “ krijgen() “methode volgens vereisten.

Methode 3: Beveilig het Node.js-programma door gebruik te maken van de Escape-uitgangen

Om te voorkomen dat uw Node.js-applicatie cross-site scripting uitvoert “ XSS 'aanvallen, de meest voorkomende en populairste techniek is het ontsnappen van speciale karakters uit de uitvoer. De speciale tekens worden omgezet naar het HTML-formaat om XSS-aanvallen te voorkomen en de conversie gebeurt via de “ escape-html ” pakketobject:

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

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


De beschrijving van de bovenstaande code is als volgt:

    • Eerst de ' escape-html 'pakket wordt geïmporteerd in het hoofdbestand' js ”-bestand en het object of de instantie ervan worden opgeslagen in een “ escObj Variabel.
    • Vervolgens wordt een willekeurige coderegel met speciale tekens opgeslagen in een “ dummyStr Variabel.
    • Geef daarna de “ dummyStr ' variabele binnen de ' escObj ” haakje voor conversiecode naar puur HTML-formaat.
    • Het resultaat wordt opgeslagen in een variabele “ counterStr ', dat vervolgens op de console wordt weergegeven.

De uitvoer van de bovenstaande code laat zien dat de speciale tekens die de opgegeven tekenreeks bevatten, nu worden omgezet in HTML-coderingsindeling:


Dat draait allemaal om het uitvoeren van handmatige detectie met beveiliging in Nodejs.

Conclusie

Om handmatige detectie uit te voeren, controleert u uw code meerdere keren op elk type syntaxis of logische fouten en voert u meerdere tests uit op de code. Om uw Node.js-programma te beschermen tegen allerlei cyberaanvallen of om het lekken van gegevens te voorkomen, gebruikt u de “ Tariefbegrenzer ', ' TLS/SSL voor gegevensoverdracht ', En ' Escape-uitgangen technieken. In deze handleiding wordt de procedure geïllustreerd voor het uitvoeren van handmatige detectie met beveiligingen in Node.js.