Kuidas teostada Node.js-i kaitsemeetmetega käsitsi tuvastamist

Kuidas Teostada Node Js I Kaitsemeetmetega Kasitsi Tuvastamist



Turvaaukude tuvastamine, koodi kaitsmine igat tüüpi küberrünnakute eest ja mälulekke vältimine on programmeerija kõige olulisemad ülesanded. See koodi sees peituvate haavatavuste tuvastamine ja ennustamine on väga keeruline ja ka aeganõudev protsess. Siiski on mitmeid lähenemisviise, mille abil saab Nodejsis teha käsitsi tuvastamist ja rakenduse kaitsmise protsessi.

See artikkel selgitab Nodejs'i kaitsemeetmetega käsitsi tuvastamise meetodeid, hõlmates alltoodud jaotisi.







    • Rate Limiteri kasutamine
    • TLS/SSL-i kasutamine andmeedastuseks
    • Põgenemisväljundid

Kuidas teostada Node.js-i kaitsemeetmetega käsitsi tuvastamist

Käsitsi tuvastamiseks vaadatakse kood mitu korda üle, et tuvastada võimalikud probleemid Node.js-koodis. Võimalikud probleemid leitakse süntaksivigade, loogikavigade jms otsimisega. '' kasutamine silur ” ja „ linterid ” saab kasutada ka Node.js programmis esinevate võimalike ohtude või vigade tuvastamiseks.



Koodi saab kaitsta igasuguste võimalike lõimede eest, pikendades samal ajal koodi kasutusiga, erinevaid meetodeid. Need meetodid on loetletud allpool:



1. meetod: kaitske programmi Node.js, kasutades kiiruse piirajat

Rakenduse teenuse keelamise rünnakute vältimiseks ja rakenduse toimivuse parandamiseks, vältides liiga palju päringuid. Praktiline rakendamine on näidatud allpool:





const väljendada = nõuda ( 'väljendama' ) ;
const rateLim = nõua ( 'kiirmäär' ) ;
const safeApp = ekspress ( ) ;

// Määrake kiirust piirav vahevara
const limiting = rateLim ( {
windowMs: 60 * 1000 ,
max: 100 , // Max req per min
sõnum: 'Vabandust! Hinda limiit on ületatud' ,
} ) ;
// Rakendage kiirust piiravat vahevara
safeApp.use ( piirav ) ;
// Määratlege marsruut ja vastuse käitleja
safeApp.get ( '/' , ( taotlus, vastus ) = > {
vastus.saata ( 'Tere Linuxhint Community!' ) ;
} ) ;

// Expressi serveri lähtestamine
const localPort = process.env.PORT || 3000 ;
safeApp.listen ( kohalik port, ( ) = > {
console.log ( ` Server on käivitunud pordi numbril: ${localPort}


Ülaltoodud koodis:

    • Esiteks importige ' väljendada ” ja „ kiirkiiruse piirmäär ' paketid peamisse ' js ” faili. Initsialiseeri ' väljendada () ' rakendus ja määrake sellele nimi ' SafeApp ”.
    • Järgmisena määrake kiirust piirav vahevara, edastades kohandatud väärtused windowsMs ', ' max ”, ja „ sõnum ' omadused jaotises ' kiirkiiruse piirmäär ” pakett.
    • Nüüd rakendage seda kiiruse piirajat kiirrakendusele, kasutades ' kasuta () ” meetod.
    • Seejärel kasutage ' saada () ” meetod, et saata serveri kaudu päringuna juhuslik sõnum.
    • Lõpuks määrake pordi number, kasutades ' env.PORT ” atribuuti ja pane kiirrakendus määratud pordi numbrit kuulama.

2. meetod: kaitske programmi Node.js, kasutades andmeedastuseks TLS/SSL-i

TLS/SSL on turvaline soklikiht, mis krüpteerib serveri ja kliendi poole vahel edastatavad andmed. See kaitseb tundlikke andmeid, nagu krediitkaardinumbreid, ründajate pealtkuulamise eest ning aitab teil täita ka vastavusnõudeid.



const fs = nõuavad ( 'fs' ) ;
const väljendada = nõuda ( 'väljendama' ) ;
const httpsObj = nõua ( 'https' ) ;

const safeApp = ekspress ( ) ;
const valikud = {
võti: fs.readFileSync ( 'key.pem' ) ,
sertifikaat: fs.readFileSync ( 'cert.pem' ) ,
} ;

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

safesafeApp.get ( '/' , ( taotlus, vastus ) = > {
vastus.saata ( 'Tere Linuxhint Community!' ) ;
} ) ;

seadedServer.kuula ( 8000 ) ;


Ülaltoodud koodi kirjeldus:

    • Esialgu importige vajalik Node.js ' fs ', ' väljendada ”, ja „ https 'sõltuvused oma projektis ja lähtestage 'ekspress' rakendus nimega ' SafeApp ”.
    • Nüüd looge ' valikuid ' nimekirja ja edastage privaatvõtme ja sertifikaadi failid ' võti ” ja „ sert ” omadused. Faile saab teha kasutades ' openssl ” käsk ja need failid aitavad ühendusi kindlustada.
    • Lõpuks looge server, kutsudes esile ' looServer() ” meetodit ja läbida „ valikuid ” massiivi esimese parameetrina ja ekspressrakenduse teisena.
    • Rakenduses TSL/SSL autentimise rakendamiseks saatke või võtke päring vastu, kasutades ' saada () ” meetod vastavalt nõuetele.

3. meetod: kaitske programmi Node.js, kasutades põgenemisväljundeid

Node.js-rakenduse saidiülese skriptimise takistamiseks XSS ” rünnakute puhul on kõige levinum ja populaarsem tehnika erimärkide põgenemine väljundist. Erimärgid teisendatakse XSS-i rünnakute vältimiseks HTML-vormingusse ja teisendamine toimub ' põgeneda-html ” paki objekt:

const escObj = nõuavad ( 'escape-html' ) ;
const dummyStr = '' ;

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


Ülaltoodud koodi kirjeldus on järgmine:

    • Esiteks, ' põgeneda-html ' pakett imporditakse peamisse ' js ” fail ja selle objekt või eksemplar on salvestatud „ escObj ” muutuja.
    • Järgmisena salvestatakse erimärke sisaldav juhuslik koodirida ' dummyStr ” muutuja.
    • Pärast seda mööduge ' dummyStr muutuja '' sees escObj ” sulgudes, et teisendada kood puhtasse HTML-vormingusse.
    • Tulemus salvestatakse muutujasse ' counterStr ”, mis kuvatakse seejärel konsoolil.

Ülaltoodud koodi väljund näitab, et antud stringi sisaldavad erimärgid teisendatakse nüüd HTML-kodeeringu vormingusse:


See kõik puudutab käsitsi tuvastamist koos kaitsemeetmetega Nodejsis.

Järeldus

Käsitsi tuvastamiseks vaadake oma kood mitu korda üle mis tahes tüüpi süntaksi- või loogikavigade suhtes ja tehke koodiga mitu testi. Programmi Node.js kaitsmiseks igasuguste küberrünnakute eest või andmete lekke vältimiseks kasutage Rate Limiter ', ' TLS/SSL andmeedastuseks ”, ja „ Põgenemisväljundid ” tehnikaid. See juhend on illustreerinud Node.js-i kaitsemeetmetega käsitsi tuvastamise protseduuri.