Node.js இல் பாதுகாப்புகளுடன் கைமுறையாக கண்டறிவது எப்படி

Node Js Il Patukappukalutan Kaimuraiyaka Kantarivatu Eppati



பாதிப்புகளைக் கண்டறிதல், அனைத்து வகையான இணையத் தாக்குதல்களிலிருந்தும் உங்கள் குறியீட்டைப் பாதுகாத்தல் மற்றும் நினைவக கசிவுகளைத் தடுப்பது ஆகியவை ஒரு புரோகிராமரின் மிக முக்கியமான கடமைகளாகும். குறியீட்டிற்குள் இருக்கும் உங்கள் பாதிப்புகளைக் கண்டறிதல் மற்றும் கணிப்பது மிகவும் கடினமானது மற்றும் நேரத்தைச் செலவழிக்கும் செயலாகும். இருப்பினும், நோட்ஜ்களில் பயன்பாட்டைப் பாதுகாக்கும் செயல்முறையுடன் கைமுறையாகக் கண்டறிதல் பல அணுகுமுறைகள் உள்ளன.

கீழே உள்ள பிரிவுகளை உள்ளடக்கியதன் மூலம் Nodejs இல் பாதுகாப்புகளுடன் கைமுறையாக கண்டறிவதற்கான அணுகுமுறைகளை இந்தக் கட்டுரை விளக்குகிறது:







    • ரேட் லிமிட்டரின் பயன்பாடு
    • தரவு பரிமாற்றத்திற்கு TLS/SSL ஐப் பயன்படுத்துதல்
    • எஸ்கேப் வெளியீடுகள்

Node.js இல் பாதுகாப்புகளுடன் கைமுறையாக கண்டறிவது எப்படி

Node.js குறியீட்டில் உள்ள சாத்தியமான சிக்கல்களைக் கண்டறிய பலமுறை குறியீட்டை மதிப்பாய்வு செய்வதன் மூலம் கைமுறையாகக் கண்டறிதல் செய்யப்படுகிறது. தொடரியல் பிழைகள், தருக்கப் பிழைகள் மற்றும் பலவற்றைத் தேடுவதன் மூலம் சாத்தியமான சிக்கல்கள் மீட்டெடுக்கப்படுகின்றன. பயன்பாடு ' பிழைத்திருத்தி 'மற்றும்' லிண்டர்கள் ” Node.js நிரலுக்குள் இருக்கும் சாத்தியமான அச்சுறுத்தல்கள் அல்லது பிழைகளை அடையாளம் காணவும் பயன்படுத்தலாம்.



உங்கள் குறியீட்டின் ஆயுட்காலத்தை மேம்படுத்தும் போது குறியீட்டை அனைத்து வகையான சாத்தியமான த்ரெட்களிலிருந்தும் பாதுகாக்க பல்வேறு முறைகள் உள்ளன. இந்த முறைகள் கீழே பட்டியலிடப்பட்டுள்ளன:



முறை 1: ரேட் லிமிட்டரைப் பயன்படுத்தி Node.js திட்டத்தைப் பாதுகாக்கவும்

சேவை மறுப்பு தாக்குதல்களில் இருந்து உங்கள் விண்ணப்பத்தைத் தடுக்க மற்றும் பல கோரிக்கைகளைத் தடுப்பதன் மூலம் உங்கள் விண்ணப்பத்தின் செயல்திறனை மேம்படுத்தவும். நடைமுறை செயல்படுத்தல் கீழே காட்டப்பட்டுள்ளது:





கான்ஸ்ட் எக்ஸ்பிரஸ் = தேவை ( 'எக்ஸ்பிரஸ்' ) ;
const rateLim = தேவை ( 'எக்ஸ்பிரஸ்-ரேட்-லிமிட்' ) ;
const safeApp = எக்ஸ்பிரஸ் ( ) ;

// மிடில்வேரைக் கட்டுப்படுத்தும் விகிதத்தை வரையறுக்கவும்
நிலையான வரம்பு = விகிதம் லிம் ( {
windowMs: 60 * 1000 ,
அதிகபட்சம்: 100 , // நிமிடத்திற்கு அதிகபட்ச தேவை
செய்தி: 'மன்னிக்கவும்! கட்டண வரம்பு மீறப்பட்டுள்ளது' ,
} ) ;
// விகிதத்தைக் கட்டுப்படுத்தும் மிடில்வேரைப் பயன்படுத்தவும்
safeApp.use ( மட்டுப்படுத்துதல் ) ;
// ஒரு வழி மற்றும் பதில் கையாளுதலை வரையறுக்கவும்
safeApp.get ( '/' , ( கோரிக்கை, பதில் ) = > {
பதில் அனுப்பு ( 'ஹலோ Linuxhint சமூகம்!' ) ;
} ) ;

// எக்ஸ்பிரஸ் சர்வரை துவக்குகிறது
const localPort = process.env.PORT || 3000 ;
safeApp.listen ( உள்ளூர் துறைமுகம், ( ) = > {
console.log ( ` போர்ட் எண்ணில் சேவையகம் தொடங்கப்பட்டது: ${localPort}


மேலே உள்ள குறியீட்டில்:

    • முதலில், 'இறக்குமதி' வெளிப்படுத்துகிறது 'மற்றும்' எக்ஸ்பிரஸ்-ரேட்-வரம்பு 'பொதிகளை பிரதானமாக' js ' கோப்பு. தொடங்கவும் ' எக்ஸ்பிரஸ்() 'விண்ணப்பம் மற்றும் அதற்கு பெயரை ஒதுக்கவும்' பாதுகாப்பான பயன்பாடு ”.
    • அடுத்து, 'க்கான தனிப்பயன் மதிப்புகளைக் கடந்து, விகிதத்தைக் கட்டுப்படுத்தும் மிடில்வேரை வரையறுக்கவும் windowsMs ',' அதிகபட்சம் ', மற்றும் ' செய்தி 'இல் உள்ள பண்புகள்' எக்ஸ்பிரஸ்-ரேட்-வரம்பு ” தொகுப்பு.
    • இப்போது, ​​இந்த விகித வரம்பை எக்ஸ்பிரஸ் பயன்பாட்டில் பயன்படுத்துவதன் மூலம் ' பயன்படுத்த () ”முறை.
    • பின்னர், பயன்படுத்தவும் ' பெறு() ” சர்வரில் கோரிக்கையாக சீரற்ற செய்தியை அனுப்பும் முறை.
    • இறுதியாக, 'ஐப் பயன்படுத்தி போர்ட் எண்ணை அமைக்கவும் env.PORT ” சொத்து மற்றும் எக்ஸ்பிரஸ் பயன்பாட்டை குறிப்பிட்ட போர்ட் எண்ணைக் கேட்கச் செய்யுங்கள்.

முறை 2: தரவு பரிமாற்றத்திற்காக TLS/SSL ஐப் பயன்படுத்தி Node.js நிரலைப் பாதுகாக்கவும்

TLS/SSL என்பது ஒரு பாதுகாப்பான சாக்கெட் லேயர் ஆகும், இது சர்வர் மற்றும் கிளையன்ட் பக்கத்திற்கு இடையே அனுப்பப்படும் தரவை குறியாக்கம் செய்கிறது. இது கிரெடிட் கார்டு எண்கள் போன்ற முக்கியமான தரவை தாக்குபவர்களால் இடைமறிக்கப்படுவதிலிருந்து பாதுகாக்கிறது மற்றும் இணக்கத் தேவைகளைப் பூர்த்தி செய்யவும் இது உதவுகிறது:



const fs = தேவை ( 'fs' ) ;
கான்ஸ்ட் எக்ஸ்பிரஸ் = தேவை ( 'எக்ஸ்பிரஸ்' ) ;
const httpsObj = தேவை ( 'https' ) ;

const safeApp = எக்ஸ்பிரஸ் ( ) ;
நிலையான விருப்பங்கள் = {
விசை: fs.readFileSync ( 'key.pem' ) ,
சான்றிதழ்: fs.readFileSync ( 'cert.pem' ) ,
} ;

const settingServer = httpsObj.createServer ( விருப்பங்கள், safeApp ) ;

safesafeApp.get ( '/' , ( கோரிக்கை, பதில் ) = > {
பதில்.அனுப்பு ( 'ஹலோ Linuxhint சமூகம்!' ) ;
} ) ;

settingServer.listen ( 8000 ) ;


மேலே உள்ள குறியீட்டின் விளக்கம்:

    • ஆரம்பத்தில், தேவையான Node.js ஐ இறக்குமதி செய்யவும் ' fs ',' வெளிப்படுத்துகிறது ', மற்றும் ' https 'உங்கள் திட்டத்தில் சார்புகள் மற்றும் 'எக்ஸ்பிரஸ்' பயன்பாட்டை 'என்ற பெயருடன் துவக்கவும் பாதுகாப்பான பயன்பாடு ”.
    • இப்போது, ​​'' ஒன்றை உருவாக்கவும் விருப்பங்கள் 'தனிப்பட்ட விசை மற்றும் சான்றிதழுக்கான கோப்புகளை பட்டியலிட்டு அனுப்பவும்' முக்கிய 'மற்றும்' சான்றிதழ் 'பண்புகள். கோப்புகளை '' ஐப் பயன்படுத்தி உருவாக்கலாம். openssl ” கட்டளை மற்றும் இந்த கோப்புகள் இணைப்புகளைப் பாதுகாக்க உதவுகின்றன.
    • இறுதியாக, '' ஐ அழைப்பதன் மூலம் ஒரு சேவையகத்தை உருவாக்கவும் createServer() 'முறை மற்றும் தேர்ச்சி' விருப்பங்கள் ”அரேயை முதல் அளவுருவாகவும், எக்ஸ்பிரஸ் ஆப்ஸ் இரண்டாவதாகவும் இருக்கும்.
    • பயன்பாட்டின் மீது TSL/SSL அங்கீகாரத்தைப் பயன்படுத்த, '' ஐப் பயன்படுத்தி கோரிக்கையை அனுப்பவும் அல்லது பெறவும் பெறு() 'தேவைகளுக்கு ஏற்ப முறை.

முறை 3: Escape வெளியீடுகளைப் பயன்படுத்தி Node.js நிரலைப் பாதுகாக்கவும்

உங்கள் Node.js பயன்பாட்டை குறுக்கு-தள ஸ்கிரிப்டிங்கிலிருந்து தடுக்க ' XSS ” தாக்குதல்கள், மிகவும் பொதுவான மற்றும் மிகவும் பிரபலமான நுட்பம் வெளியீட்டில் இருந்து சிறப்பு எழுத்துக்களை தப்பிப்பது. XSS தாக்குதல்களைத் தடுக்க சிறப்பு எழுத்துக்கள் HTML வடிவத்திற்கு மாற்றப்பட்டு, ' தப்பிக்க-html ” தொகுப்பு பொருள்:

const escObj = தேவை ( 'எஸ்கேப்-எச்டிஎம்எல்' ) ;
const dummyStr = '' ;

const modStr = escObj ( போலி ஸ்ட்ர ) ;
console.log ( counterStr ) ;


மேலே உள்ள குறியீட்டின் விளக்கம் பின்வருமாறு:

    • முதலில், ' தப்பிக்க-html 'தொகுப்பு முக்கியமாக இறக்குமதி செய்யப்படுகிறது' js 'கோப்பு மற்றும் அதன் பொருள் அல்லது நிகழ்வு ஒரு ' இல் சேமிக்கப்படுகிறது escObj ” மாறி.
    • அடுத்து, சிறப்பு எழுத்துக்களைக் கொண்ட ஒரு சீரற்ற குறியீட்டு வரி '' இல் சேமிக்கப்படுகிறது. போலி ஸ்ட்ர ” மாறி.
    • அதன் பிறகு, கடந்து செல்லவும் ' போலி ஸ்ட்ர ' மாறி உள்ளே ' escObj ” குறியீட்டை தூய HTML வடிவத்திற்கு மாற்றுவதற்கான அடைப்புக்குறி.
    • முடிவு ஒரு மாறியில் சேமிக்கப்படுகிறது ' counterStr ” இது கன்சோலில் காட்டப்படும்.

மேலே உள்ள குறியீட்டின் வெளியீடு, வழங்கப்பட்ட சரம் கொண்ட சிறப்பு எழுத்துக்கள் இப்போது HTML குறியீட்டு வடிவமாக மாற்றப்பட்டுள்ளன என்பதைக் காட்டுகிறது:


Nodejs இல் பாதுகாப்புகளுடன் கைமுறையாக கண்டறிதல் செய்வது தான்.

முடிவுரை

கைமுறையாகக் கண்டறிவதற்கு, எந்த வகையான தொடரியல் அல்லது தருக்கப் பிழைகளுக்கும் உங்கள் குறியீட்டை பலமுறை மதிப்பாய்வு செய்து, குறியீட்டின் மூலம் பல சோதனைகளைச் செய்யவும். உங்கள் Node.js நிரலை அனைத்து வகையான சைபர் தாக்குதல்களிலிருந்தும் பாதுகாக்க அல்லது தரவு கசிவைத் தடுக்க, ' விகித வரம்பு ',' தரவு பரிமாற்றத்திற்கான TLS/SSL ', மற்றும் ' எஸ்கேப் வெளியீடுகள் 'தொழில்நுட்பங்கள். இந்த வழிகாட்டி Node.js இல் பாதுகாப்புடன் கைமுறையாக கண்டறிதல் செயல்முறையை விளக்கியுள்ளது.