Kako izvesti ročno zaznavanje z zaščitnimi ukrepi v Node.js

Kako Izvesti Rocno Zaznavanje Z Zascitnimi Ukrepi V Node Js



Zaznavanje ranljivosti, zaščita kode pred vsemi vrstami kibernetskih napadov in preprečevanje uhajanja pomnilnika so najpomembnejše naloge programerja. To odkrivanje in predvidevanje vaših ranljivosti, ki se nahajajo v kodi, je zelo težko in tudi dolgotrajen proces. Vendar pa obstaja več pristopov, s katerimi je mogoče izvesti ročno zaznavanje skupaj s postopkom varovanja aplikacije v Nodejsu.

Ta članek bo razložil pristope za izvajanje ročnega odkrivanja z zaščitnimi ukrepi v Nodejs, tako da bo zajel spodnje razdelke:







    • Uporaba omejevalnika hitrosti
    • Uporaba TLS/SSL za prenos podatkov
    • Escape izhodi

Kako izvesti ročno odkrivanje z zaščitnimi ukrepi v Node.js

Ročno zaznavanje se izvede tako, da se koda večkrat pregleda, da se prepoznajo morebitne težave v kodi Node.js. Morebitne težave se pridobijo z iskanjem skladenjskih napak, logičnih napak itd. Uporaba ' razhroščevalnik « in » lintri ” lahko uporabite tudi za prepoznavanje morebitnih groženj ali napak, ki se nahajajo v programu Node.js.



Obstajajo različne metode, s katerimi je mogoče kodo zaščititi pred vsemi vrstami potencialnih niti, hkrati pa podaljšati življenjsko dobo kode. Te metode so navedene spodaj:



1. način: Zaščitite program Node.js z uporabo omejevalnika hitrosti

Preprečiti vašo aplikacijo pred napadi zavrnitve storitve in izboljšati učinkovitost vaše aplikacije s preprečevanjem prevelikega števila zahtev. Praktična izvedba je prikazana spodaj:





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

// Določite vmesno programsko opremo, ki omejuje hitrost
const limiting = rateLim ( {
oknoMs: 60 * 1000 ,
max: 100 , // Največja zahteva na min
sporočilo: 'Oprostite! Omejitev stopnje je presežena' ,
} ) ;
// Uporabite vmesno programsko opremo, ki omejuje hitrost
safeApp.use ( omejevanje ) ;
// Določite upravljalnik poti in odziva
safeApp.get ( '/' , ( prošnja, odgovor ) = > {
odziv.pošlji ( 'Pozdravljena skupnost Linuxhint!' ) ;
} ) ;

// Inicializacija strežnika Express
const localPort = process.env.PORT || 3000 ;
safeApp.listen ( localPort, ( ) = > {
console.log ( ` Strežnik se je zagnal na številki vrat: ${localPort}


V zgornji kodi:

    • Najprej uvozite » ekspresno « in » omejitev hitre stopnje ”paketi v glavno” js ' mapa. Inicializirajte » izraziti () ' aplikacijo in ji dodelite ime ' safeApp ”.
    • Nato definirajte vmesno programsko opremo, ki omejuje hitrost, tako da posredujete vrednosti po meri za ' windowsMs ', ' maks «, in » sporočilo ' lastnosti v ' omejitev hitre stopnje ” paket.
    • Zdaj uporabite ta omejevalnik hitrosti nad ekspresno aplikacijo z uporabo ' uporaba() ” metoda.
    • Nato uporabite » dobiti () ” za pošiljanje naključnega sporočila kot zahteve preko strežnika.
    • Na koncu nastavite številko vrat z uporabo ' env.PORT ” in naj hitra aplikacija posluša podano številko vrat.

2. način: Zaščitite program Node.js z uporabo TLS/SSL za prenos podatkov

TLS/SSL je varna plast vtičnic, ki šifrira podatke, ki se prenašajo med strežnikom in stranjo odjemalca. To ščiti občutljive podatke, kot so številke kreditnih kartic, pred prestrezanjem s strani napadalcev, in vam pomaga tudi pri izpolnjevanju zahtev glede skladnosti:



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

const safeApp = express ( ) ;
const možnosti = {
ključ: fs.readFileSync ( 'key.pem' ) ,
certifikat: fs.readFileSync ( 'cert.pem' ) ,
} ;

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

safesafeApp.get ( '/' , ( prošnja, odgovor ) = > {
odziv.pošlji ( 'Pozdravljena skupnost Linuxhint!' ) ;
} ) ;

settingServer.listen ( 8000 ) ;


Opis zgornje kode:

    • Najprej uvozite zahtevani Node.js ' fs ', ' ekspresno «, in » https « odvisnosti v vašem projektu in inicializirajte »hitro« aplikacijo z imenom » safeApp ”.
    • Zdaj ustvarite ' opcije ” seznam in posredovanje datotek za zasebni ključ in potrdilo “ ključ « in » cert ” lastnosti. Datoteke lahko ustvarite z uporabo » openssl ” in te datoteke pomagajo pri varovanju povezav.
    • Končno ustvarite strežnik tako, da pokličete » createServer() ' in posredujte ' opcije ” kot prvi parameter in express app kot drugi.
    • Če želite v aplikaciji uporabiti preverjanje pristnosti TSL/SSL, pošljite ali prejmite zahtevo z uporabo » dobiti () ” v skladu z zahtevami.

3. način: Zaščitite program Node.js z uporabo ubežnih izhodov

Če želite preprečiti, da bi vaša aplikacija Node.js skriptirala med spletnimi mesti ' XSS ” je najpogostejša in bolj priljubljena tehnika ubežanje posebnih znakov iz izpisa. Posebni znaki so pretvorjeni v format HTML, da preprečijo napade XSS, pretvorba pa se izvede prek » escape-html ” predmet paketa:

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

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


Opis zgornje kode je naslednji:

    • Prvič, ' escape-html »paket je uvožen v glavni« js ' in njen objekt ali primerek je shranjen v ' escObj ” spremenljivka.
    • Nato se naključna vrstica kode, ki vsebuje posebne znake, shrani v » dummyStr ” spremenljivka.
    • Po tem prenesite » dummyStr ' spremenljivka znotraj ' escObj ” oklepaj za kodo za pretvorbo v čisto obliko HTML.
    • Rezultat je shranjen v spremenljivki ' counterStr «, ki se nato prikaže na konzoli.

Izhod zgornje kode kaže, da so posebni znaki, ki vsebujejo navedeni niz, zdaj pretvorjeni v obliko kodiranja HTML:


To je vse o izvajanju ročnega zaznavanja z varovali v Nodejs.

Zaključek

Če želite izvesti ročno zaznavanje, večkrat preglejte svojo kodo za kakršno koli skladenjsko ali logično napako in izvedite več preizkusov nad kodo. Če želite zaščititi svoj program Node.js pred vsemi vrstami kibernetskih napadov ali preprečiti uhajanje podatkov, uporabite » Omejevalnik hitrosti ', ' TLS/SSL za prenos podatkov «, in » Escape izhodi ” tehnike. Ta priročnik je ponazoril postopek izvajanja ročnega zaznavanja z zaščitnimi ukrepi v Node.js.