Како извршити ручно откривање са заштитним мерама у Ноде.јс

Kako Izvrsiti Rucno Otkrivane Sa Zastitnim Merama U Node Js



Откривање рањивости, заштита вашег кода од свих врста сајбер-напада и спречавање цурења меморије су најважније дужности програмера. Ово откривање и предвиђање ваших рањивости које се налазе унутар кода је веома тешко и такође дуготрајан процес. Међутим, постоји неколико приступа помоћу којих се ручно откривање заједно са процесом заштите апликације може обавити у Нодејс-у.

Овај чланак ће објаснити приступе за обављање ручног откривања са заштитним мерама у Нодејс-у покривајући следеће одељке:







    • Употреба лимитера брзине
    • Коришћење ТЛС/ССЛ-а за пренос података
    • Есцапе Оутпутс

Како извршити ручно откривање са заштитним мерама у Ноде.јс

Ручно откривање се врши прегледом кода више пута да би се идентификовали потенцијални проблеми у коду Ноде.јс. Потенцијални проблеми се проналазе претрагом за синтаксичке грешке, логичке грешке итд. Употреба ' дебуггер ' и ' линтерс ” такође може да се користи за идентификацију потенцијалних претњи или грешака које се налазе унутар програма Ноде.јс.



Постоје различите методе помоћу којих се код може заштитити од свих врста потенцијалних нити, док истовремено продужава животни век вашег кода. Ове методе су наведене у наставку:



Метод 1: Заштитите програм Ноде.јс коришћењем граничника брзине

Да бисте спречили вашу апликацију од напада ускраћивања услуге и побољшали перформансе ваше апликације спречавањем превише захтева. Практична имплементација је приказана у наставку:





цонст екпресс = захтевати ( 'изразити' ) ;
цонст ратеЛим = захтева ( 'екпресс-рате-лимит' ) ;
цонст сафеАпп = експресно ( ) ;

// Дефинишите средњи софтвер који ограничава брзину
цонст лимитинг = ратеЛим ( {
виндовМс: 60 * 1000 ,
мак: 100 , // Мак рек пер мин
порука: 'Извињавам се! Ограничење стопе је премашено' ,
} ) ;
// Примените средњи софтвер који ограничава брзину
сафеАпп.усе ( ограничавајући ) ;
// Дефинишите руту и ​​руковао одговором
сафеАпп.гет ( '/' , ( захтев, одговор ) = > {
одговор.пошаљи ( „Здраво Линукхинт заједница!“ ) ;
} ) ;

// Иницијализација Екпресс сервера
цонст лоцалПорт = процесс.енв.ПОРТ || 3000 ;
сафеАпп.листен ( локални порт, ( ) = > {
цонсоле.лог ( ` Сервер је покренут на броју порта: ${лоцалПорт}


У горњем коду:

    • Прво увезите „ изразити ' и ' експресно ограничење стопе ” пакети у главни “ јс ” фајл. Иницијализујте „ изразити() ” апликација и доделите јој име “ сафеАпп ”.
    • Затим дефинишите средњи софтвер који ограничава брзину преносом прилагођених вредности за „ виндовсМс ', ' мак ', и ' порука ” својства у „ експресно ограничење стопе ” пакет.
    • Сада примените овај лимитатор стопе на експресну апликацију користећи „ усе() ” метод.
    • Затим користите „ добити() ” за слање насумичне поруке као захтева преко сервера.
    • На крају, подесите број порта помоћу „ енв.ПОРТ ” и учините да експресна апликација слуша наведени број порта.

Метод 2: Заштитите програм Ноде.јс коришћењем ТЛС/ССЛ-а за пренос података

ТЛС/ССЛ је слој безбедне утичнице који шифрује податке који се преносе између серверске и клијентске стране. Ово штити осетљиве податке као што су бројеви кредитних картица од пресретања од стране нападача, а такође вам помаже да испуните захтеве усклађености:



цонст фс = захтева ( 'фс' ) ;
цонст екпресс = захтевати ( 'изразити' ) ;
цонст хттпсОбј = захтева ( 'хттпс' ) ;

цонст сафеАпп = експресно ( ) ;
цонст опције = {
кључ: фс.реадФилеСинц ( 'кеи.пем' ) ,
церт: фс.реадФилеСинц ( 'церт.пем' ) ,
} ;

цонст сеттингСервер = хттпсОбј.цреатеСервер ( опције, сафеАпп ) ;

сафесафеАпп.гет ( '/' , ( захтев, одговор ) = > {
одговор.пошаљи ( „Здраво Линукхинт заједница!“ ) ;
} ) ;

сеттингСервер.листен ( 8000 ) ;


Опис горњег кода:

    • Прво, увезите потребни Ноде.јс “ фс ', ' изразити ', и ' хттпс ” зависности у вашем пројекту и иницијализујте „експрес” апликацију са именом „ сафеАпп ”.
    • Сада креирајте „ Опције ” наведите и проследите датотеке за приватни кључ и сертификат “ кључ ' и ' церт ” својства. Датотеке се могу направити помоћу „ опенссл ” и ове датотеке помажу у обезбеђивању веза.
    • Коначно, креирајте сервер позивањем „ цреатеСервер() ” метод и проследите „ Опције ” низ као први параметар и експресна апликација као други.
    • Да бисте применили ТСЛ/ССЛ аутентификацију на апликацију, пошаљите или примите захтев користећи „ добити() ” метода према захтевима.

Метод 3: Заштитите програм Ноде.јс коришћењем излазних излаза

Да бисте спречили вашу Ноде.јс апликацију да скриптује на више локација “ КССС ”, најчешћа и популарнија техника је избегавање специјалних знакова из излаза. Специјални знакови се конвертују у ХТМЛ формат да би се спречили КССС напади, а конверзија се врши преко „ есцапе-хтмл ” објекат пакета:

цонст есцОбј = захтева ( 'есцапе-хтмл' ) ;
цонст думмиСтр = '<сцрипт>цонсоле.лог('Смањење шанси за КССС напад!');' ;

цонст модСтр = есцОбј ( думмиСтр ) ;
цонсоле.лог ( цоунтерСтр ) ;


Опис горњег кода је следећи:

    • Прво, „ есцапе-хтмл ” пакет се увози у главни “ јс ” датотека и њен објекат или инстанца се чувају у „ есцОбј ' променљива.
    • Затим, насумични ред кода који садржи специјалне знакове се чува у „ думмиСтр ' променљива.
    • Након тога, прођите „ думмиСтр ” променљива унутар „ есцОбј ” заграда за конверзију кода у чисти ХТМЛ формат.
    • Резултат се чува у променљивој „ цоунтерСтр ” који се затим приказује на конзоли.

Излаз горњег кода показује да су специјални знакови који садрже наведени стринг сада конвертовани у ХТМЛ формат кодирања:


То је све о извођењу ручног откривања са заштитним мерама у Нодејс-у.

Закључак

Да бисте извршили ручно откривање, прегледајте свој код више пута за било коју врсту синтаксних или логичких грешака и извршите више тестова над кодом. Да бисте заштитили свој Ноде.јс програм од свих врста сајбер напада или спречили цурење података, користите „ Рате Лимитер ', ' ТЛС/ССЛ за пренос података ', и ' Есцапе Оутпутс ” технике. Овај водич је илустровао процедуру извођења ручног откривања са заштитним мерама у Ноде.јс.