Kako izvršiti ručno otkrivanje sa zaštitnim mjerama u Node.js

Kako Izvrsiti Rucno Otkrivanje Sa Zastitnim Mjerama U Node Js



Otkrivanje ranjivosti, zaštita vašeg koda od svih vrsta kibernetičkih napada i sprječavanje curenja memorije najvažnije su dužnosti programera. Ovo otkrivanje i predviđanje vaših ranjivosti koje se nalaze unutar koda vrlo je teško i dugotrajan proces. Međutim, postoji nekoliko pristupa pomoću kojih se ručno otkrivanje zajedno s postupkom zaštite aplikacije može učiniti u Nodejsu.

Ovaj će članak objasniti pristupe za izvođenje ručnog otkrivanja sa zaštitnim mjerama u Nodejsu pokrivajući sljedeće odjeljke:







    • Korištenje ograničenja brzine
    • Upotreba TLS/SSL za prijenos podataka
    • Izlazi za bijeg

Kako izvršiti ručno otkrivanje sa zaštitnim mjerama u Node.js

Ručno otkrivanje provodi se višestrukim pregledom koda kako bi se identificirali potencijalni problemi u Node.js kodu. Potencijalni problemi se dohvaćaju traženjem sintaktičkih pogrešaka, logičkih pogrešaka i tako dalje. Korištenje ' program za ispravljanje pogrešaka ' i ' lintere ” također se može koristiti za prepoznavanje potencijalnih prijetnji ili grešaka koje se nalaze unutar programa Node.js.



Postoje različite metode pomoću kojih se kod može zaštititi od svih vrsta potencijalnih niti dok se produljuje životni vijek vašeg koda. Ove metode su navedene u nastavku:



Metoda 1: Zaštitite program Node.js korištenjem ograničenja brzine

Kako biste spriječili svoju aplikaciju od napada uskraćivanjem usluge i kako biste poboljšali izvedbu svoje aplikacije sprječavanjem previše zahtjeva. Praktična provedba prikazana je u nastavku:





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

// Definirajte srednji softver koji ograničava brzinu
const ograničavanje = rateLim ( {
prozor Ms: 60 * 1000 ,
max: 100 , // Max req po min
poruka: 'Oprosti! Ograničenje brzine je premašeno' ,
} ) ;
// Primijenite srednji softver koji ograničava brzinu
safeApp.use ( ograničavajući ) ;
// Definirajte rutu i rukovatelja odgovorom
safeApp.get ( '/' , ( zahtjev, odgovor ) = > {
odgovor.poslati ( 'Pozdrav Linuxhint zajednici!' ) ;
} ) ;

// Inicijalizacija Express poslužitelja
const lokalniPort = process.env.PORT || 3000 ;
safeApp.slušaj ( lokalnipriključak, ( ) = > {
konzola.log ( ` Poslužitelj je pokrenut na broju priključka: ${localPort}


U gornjem kodu:

    • Prvo uvezite ' izraziti ' i ' ograničenje ekspresne stope ”paketi u glavni” js ' datoteka. Inicijalizirajte ' izraziti() ' aplikaciju i dodijelite joj naziv ' safeApp ”.
    • Zatim definirajte srednji softver koji ograničava brzinu prosljeđivanjem prilagođenih vrijednosti za ' prozoriMs ', ' max ', i ' poruka ' svojstva u ' ograničenje ekspresne stope ” paket.
    • Sada primijenite ovaj limiter brzine preko ekspresne aplikacije koristeći ' koristiti() ” metoda.
    • Zatim upotrijebite ' dobiti() ” za slanje nasumične poruke kao zahtjeva preko poslužitelja.
    • Na kraju, postavite broj porta pomoću ' env.LUKA ” i natjerajte ekspresnu aplikaciju da sluša navedeni broj priključka.

Metoda 2: Zaštitite program Node.js korištenjem TLS/SSL-a za prijenos podataka

TLS/SSL je sloj sigurnih utičnica koji šifrira podatke koji se prenose između poslužitelja i strane klijenta. Ovo štiti osjetljive podatke poput brojeva kreditnih kartica od presretanja napadača i također vam pomaže da ispunite zahtjeve sukladnosti:



const fs = zahtijevati ( 'fs' ) ;
const express = zahtijevati ( 'izraziti' ) ;
const httpsObj = zahtijevati ( 'https' ) ;

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

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

safesafeApp.get ( '/' , ( zahtjev, odgovor ) = > {
odgovor.poslati ( 'Pozdrav Linuxhint zajednici!' ) ;
} ) ;

settingServer.listen ( 8000 ) ;


Opis gornjeg koda:

    • Prvo uvezite potrebni Node.js “ fs ', ' izraziti ', i ' https ' ovisnosti u vašem projektu i inicijalizirajte 'express' aplikaciju s imenom ' safeApp ”.
    • Sada stvorite ' opcije ” popis i prosljeđivanje datoteka za privatni ključ i certifikat “ ključ ' i ' cert ' Svojstva. Datoteke se mogu izraditi pomoću ' openssl ” i ove datoteke pomažu u osiguravanju veza.
    • Na kraju, kreirajte poslužitelj pozivanjem ' kreiraj poslužitelj() ' metodu i proslijedite ' opcije ” niz kao prvi parametar i express app kao drugi.
    • Da biste primijenili TSL/SSL autentifikaciju preko aplikacije, pošaljite ili primite zahtjev koristeći ' dobiti() ” metoda prema zahtjevima.

Metoda 3: Zaštitite program Node.js korištenjem Escape izlaza

Kako biste spriječili svoju Node.js aplikaciju od skriptiranja između web-mjesta ' XSS ” napada, najčešća i popularnija tehnika je izbjegavanje posebnih znakova iz izlaza. Posebni znakovi se pretvaraju u HTML format kako bi se spriječili XSS napadi, a konverzija se vrši putem ' escape-html ” objekt paketa:

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

const modStr = escObj ( dummyStr ) ;
konzola.log ( brojačStr ) ;


Opis gornjeg koda je sljedeći:

    • Prvo, ' escape-html ” paket se uvozi u glavni “ js ” datoteka i njezin objekt ili instanca pohranjeni su u “ escObj ” varijabla.
    • Zatim se nasumični redak koda koji sadrži posebne znakove pohranjuje u ' dummyStr ” varijabla.
    • Nakon toga prođite ' dummyStr ' varijabla unutar ' escObj ” zagrada za kod za konverziju u čisti HTML format.
    • Rezultat je pohranjen u varijabli ' brojačStr ” koja se zatim prikazuje na konzoli.

Izlaz gornjeg koda pokazuje da su posebni znakovi koji sadrže navedeni niz sada pretvoreni u HTML format kodiranja:


To je sve o izvođenju ručnog otkrivanja sa zaštitnim mjerama u Nodejsu.

Zaključak

Da biste izvršili ručno otkrivanje, pregledajte svoj kod više puta radi bilo koje vrste sintaktičkih ili logičkih pogrešaka i izvršite više testova nad kodom. Kako biste zaštitili svoj Node.js program od svih vrsta kibernetičkih napada ili kako biste spriječili curenje podataka, koristite ' Ograničivač brzine ', ' TLS/SSL za prijenos podataka ', i ' Izlazi za bijeg ' Tehnike. Ovaj vodič ilustrira postupak izvođenja ručnog otkrivanja sa zaštitnim mjerama u Node.js.