Manuaalisen tunnistuksen suorittaminen suojatoimilla Node.js:ssä

Manuaalisen Tunnistuksen Suorittaminen Suojatoimilla Node Js Ssa



Haavoittuvuuksien havaitseminen, koodin suojaaminen kaikenlaisilta kyberhyökkäyksiltä ja muistivuotojen estäminen ovat ohjelmoijan tärkeimpiä tehtäviä. Tämä koodin sisällä olevien haavoittuvuuksien havaitseminen ja ennustaminen on erittäin vaikeaa ja myös aikaa vievä prosessi. On kuitenkin olemassa useita lähestymistapoja, joilla manuaalinen tunnistus ja sovelluksen suojaus voidaan tehdä Nodejsissa.

Tämä artikkeli selittää lähestymistavat manuaaliseen havaitsemiseen suojatoimilla Nodejsissa kattamalla seuraavat osiot:







    • Rate Limiterin käyttö
    • TLS/SSL:n käyttö tiedonsiirrossa
    • Escape-lähdöt

Manuaalisen tunnistuksen suorittaminen Node.js:n suojatoimilla

Manuaalinen tunnistus suoritetaan tarkistamalla koodi useita kertoja mahdollisten Node.js-koodin ongelmien tunnistamiseksi. Mahdolliset ongelmat haetaan etsimällä syntaksivirheitä, loogisia virheitä ja niin edelleen. Käyttö ' virheen korjaaja ' ja ' linterit ' voidaan myös käyttää Node.js-ohjelman sisällä olevien mahdollisten uhkien tai virheiden tunnistamiseen.



On olemassa useita menetelmiä, joilla koodi voidaan suojata kaikenlaisilta mahdollisilta säikeiltä ja samalla pidentää koodisi käyttöikää. Nämä menetelmät on lueteltu alla:



Tapa 1: Suojaa Node.js-ohjelma käyttämällä nopeudenrajoitinta

Estä sovelluksesi palvelunestohyökkäyksiltä ja parantaa sovelluksesi suorituskykyä estämällä liian monta pyyntöä. Käytännön toteutus näkyy alla:





const express = vaadi ( 'ilmaista' ) ;
const rateLim = vaatia ( 'pikakorkorajoitus' ) ;
const safeApp = express ( ) ;

// Määritä nopeutta rajoittava väliohjelmisto
const limiting = rateLim ( {
windowsMs: 60 * 1000 ,
max: 100 , // Max tarve minuutissa
viesti: 'Anteeksi! Hintaraja on ylitetty' ,
} ) ;
// Käytä nopeutta rajoittavaa väliohjelmistoa
safeApp.use ( rajoittava ) ;
// Määritä reitti ja vastauskäsittelijä
safeApp.get ( '/' , ( pyyntö, vastaus ) = > {
vastaus.lähetä ( 'Hei Linuxhint Community!' ) ;
} ) ;

// Express-palvelimen alustus
const localPort = process.env.PORT || 3000 ;
safeApp.listen ( paikallinen portti, ( ) = > {
console.log ( ` Palvelin on käynnistynyt portin numerosta: ${localPort}


Yllä olevassa koodissa:

    • Tuo ensin ' ilmaista ' ja ' pikahintaraja ' paketit pääsivulle ' js ”tiedosto. Alusta ' ilmaista() 'sovellus ja anna sille nimi' safeApp ”.
    • Määritä seuraavaksi nopeutta rajoittava väliohjelmisto välittämällä mukautetut arvot kohteelle ' windowsMs ', ' max ”, ja ” viesti '-ominaisuudet kohdassa ' pikahintaraja ”paketti.
    • Käytä nyt tätä nopeudenrajoitinta pikasovelluksen päälle käyttämällä ' käyttää() ”menetelmä.
    • Käytä sitten ' saada() ” -menetelmä lähettää satunnaisen viestin pyynnönä palvelimen kautta.
    • Aseta lopuksi portin numero ' env.PORT ”-ominaisuutta ja saada pikasovellus kuuntelemaan määritettyä porttinumeroa.

Tapa 2: Suojaa Node.js-ohjelma käyttämällä TLS/SSL:ää tiedonsiirtoon

TLS/SSL on suojattu socket-kerros, joka salaa palvelimen ja asiakaspuolen välillä siirrettävät tiedot. Tämä suojaa arkaluontoisia tietoja, kuten luottokorttinumeroita, hyökkääjien sieppaamiselta ja auttaa sinua myös täyttämään vaatimustenmukaisuusvaatimukset:



const fs = vaatia ( 'fs' ) ;
const express = vaadi ( 'ilmaista' ) ;
const httpsObj = vaatia ( 'https' ) ;

const safeApp = express ( ) ;
const vaihtoehdot = {
avain: fs.readFileSync ( 'key.pem' ) ,
sertifikaatti: fs.readFileSync ( 'cert.pem' ) ,
} ;

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

safesafeApp.get ( '/' , ( pyyntö, vastaus ) = > {
vastaus.lähetä ( 'Hei Linuxhint Community!' ) ;
} ) ;

settingsServer.listen ( 8000 ) ;


Yllä olevan koodin kuvaus:

    • Tuo ensin vaadittu Node.js ' fs ', ' ilmaista ”, ja ” https ' riippuvuudet projektissasi ja alusta 'express'-sovellus nimellä ' safeApp ”.
    • Luo nyt ' vaihtoehtoja ' luettelo ja välitä yksityisen avaimen ja varmenteen tiedostot ' avain ' ja ' varm ” ominaisuuksia. Tiedostot voidaan tehdä käyttämällä ' openssl ”-komento ja nämä tiedostot auttavat yhteyksien turvaamisessa.
    • Luo lopuksi palvelin kutsumalla ' createServer() ' -menetelmää ja välitä ' vaihtoehtoja ” -taulukko ensimmäisenä parametrina ja pikasovellus toisena parametrina.
    • Jos haluat käyttää TSL/SSL-todennusta sovelluksessa, lähetä tai vastaanota pyyntö käyttämällä ' saada() ” menetelmä vaatimusten mukaan.

Tapa 3: Suojaa Node.js-ohjelma käyttämällä Escape-lähtöjä

Estä Node.js-sovellustasi suorittamasta sivustojen välistä komentosarjaa ' XSS ” hyökkäyksiä, yleisin ja suosituin tekniikka on erikoismerkkien pakeneminen tulosteesta. Erikoismerkit muunnetaan HTML-muotoon XSS-hyökkäysten estämiseksi ja muuntaminen tapahtuu ' Escape-html ” pakettiobjekti:

const escObj = vaatia ( 'paeta-html' ) ;
const dummyStr = '' ;

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


Yllä olevan koodin kuvaus on seuraava:

    • Ensinnäkin ' Escape-html ' paketti tuodaan pää' js '-tiedosto ja sen objekti tai ilmentymä on tallennettu ' escObj ”muuttuja.
    • Seuraavaksi satunnainen koodirivi, joka sisältää erikoismerkkejä, tallennetaan ' dummyStr ”muuttuja.
    • Ohita sen jälkeen ' dummyStr ' muuttuja ' escObj ” suluissa muunnoskoodin puhtaaseen HTML-muotoon.
    • Tulos tallennetaan muuttujaan ' counterStr ', joka näkyy sitten konsolissa.

Yllä olevan koodin tulos osoittaa, että toimitetun merkkijonon sisältävät erikoismerkit muunnetaan nyt HTML-koodausmuotoon:


Siinä on kyse manuaalisesta havaitsemisesta suojatoimien avulla Nodejsissa.

Johtopäätös

Suorita manuaalinen tunnistus tarkistamalla koodisi useita kertoja syntaksi- tai loogisten virheiden varalta ja suorittamalla useita testejä koodille. Suojaa Node.js-ohjelmasi kaikenlaisilta kyberhyökkäyksiltä tai estää tietovuodot käyttämällä ' Rate Limiter ', ' TLS/SSL tiedonsiirtoon ”, ja ” Escape-lähdöt ' tekniikat. Tämä opas on havainnollistanut menettelyä manuaalisen tunnistuksen suorittamiseksi suojatoimilla Node.js:ssä.