Kaip atlikti rankinį aptikimą naudojant Node.js apsaugos priemones

Kaip Atlikti Rankini Aptikima Naudojant Node Js Apsaugos Priemones



Pažeidžiamumų aptikimas, kodo apsauga nuo visų tipų kibernetinių atakų ir atminties nutekėjimo prevencija yra svarbiausios programuotojo pareigos. Šis kode esančių pažeidžiamumų aptikimas ir numatymas yra labai sudėtingas ir daug laiko reikalaujantis procesas. Tačiau yra keletas būdų, kuriais naudojant Nodejs galima atlikti rankinį aptikimą ir programos apsaugos procesą.

Šiame straipsnyje bus paaiškinti būdai, kaip atlikti rankinį aptikimą naudojant apsaugos priemones „Nodejs“, apimant šiuos skyrius:







    • Normos ribotuvo naudojimas
    • TLS/SSL naudojimas duomenų perdavimui
    • Pabėgimo išėjimai

Kaip atlikti rankinį aptikimą naudojant Node.js apsaugos priemones

Rankinis aptikimas atliekamas kelis kartus peržiūrint kodą, siekiant nustatyti galimas Node.js kodo problemas. Galimos problemos nuskaitomos ieškant sintaksės klaidų, loginių klaidų ir pan. Panaudojimas ' derintuvas “ ir „ linteriai “ taip pat gali būti naudojamas norint nustatyti galimas grėsmes ar klaidas, esančias Node.js programoje.



Yra įvairių metodų, kuriais kodas gali būti apsaugotas nuo visų galimų gijų, kartu pailginant kodo tarnavimo laiką. Šie metodai išvardyti žemiau:



1 būdas: Apsaugokite Node.js programą naudodami greičio ribotuvą

Norėdami apsaugoti programą nuo paslaugų atsisakymo atakų ir pagerinti programos našumą užkertant kelią per daug užklausų. Praktinis įgyvendinimas parodytas žemiau:





const express = reikalauti ( 'išreikšti' ) ;
const rateLim = reikalauti ( „greitojo kurso riba“ ) ;
const safeApp = express ( ) ;

// Apibrėžkite greitį ribojančią tarpinę programinę įrangą
const limiting = normaLim ( {
windowsMs: 60 * 1000 ,
maks.: 100 , // Maksimalus reikalavimas per min
žinutė: 'Atsiprašau! Kainos limitas viršytas“ ,
} ) ;
// Taikykite greitį ribojančią tarpinę programinę įrangą
safeApp.use ( ribojantis ) ;
// Apibrėžkite maršrutą ir atsakymo tvarkyklę
safeApp.get ( '/' , ( prašymas, atsakymas ) = > {
atsakymas.siųsti ( „Sveika, Linuxhint bendruomenė!“ ) ;
} ) ;

// „Express“ serverio inicijavimas
const localPort = process.env.PORT || 3000 ;
safeApp.klausykite ( vietinis uostas, ( ) = > {
console.log ( ` Serveris paleistas naudojant prievado numerį: ${localPort}


Aukščiau pateiktame kode:

    • Pirmiausia importuokite „ išreikšti “ ir „ greitojo tarifo limitas “ paketus į pagrindinį “ js “ failą. Inicijuoti ' išreikšti () “ programą ir priskirkite jai pavadinimą “ saugi programa “.
    • Tada apibrėžkite greitį ribojančią tarpinę programinę įrangą, perduodant pasirinktines „ windowsMs ', ' maks “ ir „ žinutę “ savybės „ greitojo tarifo limitas “ paketą.
    • Dabar taikykite šį greičio ribotuvą greitajai programai naudodami „ naudoti () “ metodas.
    • Tada naudokite „ gauti () “ metodą, norėdami išsiųsti atsitiktinį pranešimą kaip užklausą per serverį.
    • Galiausiai nustatykite prievado numerį naudodami „ env.PORT “ nuosavybę ir priversti greitąją programą klausytis nurodyto prievado numerio.

2 būdas: Apsaugokite Node.js programą naudodami TLS/SSL duomenų perdavimui

TLS/SSL yra saugaus lizdo sluoksnis, kuris užšifruoja duomenis, perduodamus tarp serverio ir kliento pusės. Tai apsaugo slaptus duomenis, pvz., kredito kortelių numerius, kad užpuolikai jų perimtų, ir taip pat padės laikytis atitikties reikalavimų:



const fs = reikalauti ( 'fs' ) ;
const express = reikalauti ( 'išreikšti' ) ;
const httpsObj = reikalauti ( 'https' ) ;

const safeApp = express ( ) ;
const parinktys = {
raktas: fs.readFileSync ( „key.pem“ ) ,
sertifikatas: fs.readFileSync ( „cert.pem“ ) ,
} ;

const settingsServer = httpsObj.createServer ( parinktys, safeApp ) ;

safesafeApp.get ( '/' , ( prašymas, atsakymas ) = > {
atsakymas.siųsti ( „Sveika, Linuxhint bendruomenė!“ ) ;
} ) ;

nustatymasServeris.klausyti ( 8000 ) ;


Aukščiau pateikto kodo aprašymas:

    • Iš pradžių importuokite reikiamą Node.js “ fs ', ' išreikšti “ ir „ https “ priklausomybes savo projekte ir inicijuokite „Express“ programą pavadinimu „ saugi programa “.
    • Dabar sukurkite „ galimybės “ sąrašą ir perduoti privataus rakto ir sertifikato failus “ Raktas “ ir „ sertifikatas “ savybes. Failus galima sukurti naudojant „ openssl “ komanda ir šie failai padeda apsaugoti ryšius.
    • Galiausiai sukurkite serverį iškviesdami „ CreateServer() “ metodą ir pereikite „ galimybės “ masyvą kaip pirmąjį parametrą ir greitąją programą kaip antrąjį.
    • Norėdami pritaikyti TSL / SSL autentifikavimą programai, išsiųskite arba gaukite užklausą naudodami „ gauti () “ metodas pagal reikalavimus.

3 būdas: Apsaugokite Node.js programą naudodami pabėgimo išvestis

Kad jūsų Node.js programa negalėtų kurti scenarijų įvairiose svetainėse “ XSS “ atakų, labiausiai paplitusi ir populiaresnė technika yra specialiųjų simbolių pabėgimas iš išvesties. Specialieji simboliai konvertuojami į HTML formatą, kad būtų išvengta XSS atakų, o konvertavimas atliekamas naudojant „ pabėgti-html “ pakuotės objektas:

const escObj = reikalauti ( 'Escape-html' ) ;
const dummyStr = '' ;

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


Aukščiau pateikto kodo aprašymas yra toks:

    • Pirma, „ pabėgti-html ' paketas importuojamas į pagrindinį ' js “ failas ir jo objektas arba egzempliorius yra saugomi „ escObj “ kintamasis.
    • Tada atsitiktinė kodo eilutė su specialiaisiais simboliais išsaugoma „ dummyStr “ kintamasis.
    • Po to praeikite „ dummyStr ' kintamasis ' viduje ' escObj “ skliausteliuose konvertuoti kodą į gryną HTML formatą.
    • Rezultatas saugomas kintamajame ' counterStr “, kuris tada rodomas konsolėje.

Aukščiau pateikto kodo išvestis rodo, kad specialieji simboliai, kuriuose yra pateikta eilutė, dabar konvertuojami į HTML kodavimo formatą:


Tai viskas apie rankinio aptikimo atlikimą su apsaugos priemonėmis „Nodejs“.

Išvada

Norėdami aptikti rankiniu būdu, kelis kartus peržiūrėkite kodą, ar nėra bet kokio tipo sintaksės ar loginių klaidų, ir atlikite kelis kodo testus. Norėdami apsaugoti savo Node.js programą nuo visų rūšių kibernetinių atakų arba užkirsti kelią duomenų nutekėjimui, naudokite „ Normos ribotuvas ', ' TLS/SSL duomenų perdavimui “ ir „ Pabėgimo išėjimai “ technikos. Šiame vadove parodyta, kaip atlikti rankinį aptikimą naudojant Node.js apsaugos priemones.