"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट में क्रॉस-साइट अनुरोध जालसाजी (सीएसआरएफ) को समझना और रोकना

जावास्क्रिप्ट में क्रॉस-साइट अनुरोध जालसाजी (सीएसआरएफ) को समझना और रोकना

2024-11-08 को प्रकाशित
ब्राउज़ करें:237

Understanding and Preventing Cross-Site Request Forgery (CSRF) in JavaScript

परिचय

वेब सुरक्षा के लगातार विकसित हो रहे परिदृश्य में, क्रॉस-साइट रिक्वेस्ट फोर्जरी (सीएसआरएफ) एक गंभीर खतरा बना हुआ है, जिसे डेवलपर्स को वेब अनुप्रयोगों की अखंडता और सुरक्षा सुनिश्चित करने के लिए संबोधित करना चाहिए। इस ब्लॉग पोस्ट में, हम विस्तार से जानेंगे कि सीएसआरएफ क्या है, यह आपके अनुप्रयोगों को कैसे प्रभावित कर सकता है, और जावास्क्रिप्ट का उपयोग करके सीएसआरएफ हमलों को रोकने के लिए व्यावहारिक समाधान प्रदान करेगा। अंत तक, आपको सीएसआरएफ की ठोस समझ होगी और इस सामान्य सुरक्षा भेद्यता के खिलाफ अपने अनुप्रयोगों को कैसे सुरक्षित रखा जाए।

सीएसआरएफ क्या है?

क्रॉस-साइट रिक्वेस्ट फोर्जरी (सीएसआरएफ) एक प्रकार का हमला है जो उपयोगकर्ता को वेब एप्लिकेशन पर कार्रवाई करने के लिए प्रेरित करता है जिसमें वे प्रमाणित होते हैं। क्रॉस-साइट स्क्रिप्टिंग (XSS) के विपरीत, जो किसी विशेष वेबसाइट में उपयोगकर्ता के भरोसे का फायदा उठाता है, CSRF उपयोगकर्ता के ब्राउज़र में वेबसाइट के भरोसे का फायदा उठाता है।

सीएसआरएफ हमले कैसे काम करते हैं

सीएसआरएफ हमलों में आम तौर पर तीन मुख्य चरण शामिल होते हैं:

1. पीड़ित प्रमाणीकरण: पीड़ित एक वैध वेबसाइट (उदाहरण के लिए, उनके बैंक) में लॉग इन करता है।

2. दुर्भावनापूर्ण अनुरोध: हमलावर पीड़ित को एक दुर्भावनापूर्ण साइट पर जाने के लिए बरगलाता है जो पीड़ित की ओर से वैध साइट पर अनुरोध भेजता है।

3. निष्पादन: वैध साइट अनुरोध को संसाधित करती है क्योंकि ऐसा लगता है कि यह प्रमाणित उपयोगकर्ता से आया है, जिसके परिणामस्वरूप धन हस्तांतरित करने या खाता विवरण बदलने जैसी अवांछित कार्रवाइयां होती हैं।

सीएसआरएफ हमले का उदाहरण

ऐसे परिदृश्य पर विचार करें जहां एक बैंक की वेबसाइट एक साधारण GET अनुरोध के माध्यम से धन हस्तांतरण की अनुमति देती है:

Click here to win $1000!

यदि पीड़ित अपने बैंक खाते में लॉग इन करते समय इस लिंक पर क्लिक करता है, तो स्थानांतरण उनकी सहमति के बिना निष्पादित किया जाएगा।

सीएसआरएफ हमलों को रोकना

सीएसआरएफ हमलों को रोकने के लिए, डेवलपर्स कई रणनीतियों को लागू कर सकते हैं:

1. सिंक्रोनाइज़र टोकन पैटर्न (CSRF टोकन)
2. सेमसाइट कुकीज़
3. डबल सबमिट कुकी

1. सिंक्रोनाइज़र टोकन पैटर्न (सीएसआरएफ टोकन)

सीएसआरएफ हमलों को रोकने के लिए सबसे प्रभावी तरीकों में से एक सीएसआरएफ टोकन का उपयोग करना है। सीएसआरएफ टोकन सर्वर द्वारा उत्पन्न एक अद्वितीय, गुप्त और अप्रत्याशित मूल्य है और क्लाइंट को भेजा जाता है। यह टोकन ग्राहक द्वारा किए गए किसी भी राज्य-परिवर्तन अनुरोध में शामिल होना चाहिए।

चरण-दर-चरण कार्यान्वयन:

1. एक CSRF टोकन जनरेट करें:

const generateCSRFToken = () => {
    return crypto.randomBytes(24).toString('hex');
};

2. ग्राहक को सीएसआरएफ टोकन भेजें:

अपने HTML फॉर्म में, CSRF टोकन को एक छिपे हुए फ़ील्ड के रूप में शामिल करें:

3. सर्वर पर सीएसआरएफ टोकन को मान्य करें:
सर्वर-साइड पर, प्रत्येक राज्य-परिवर्तन अनुरोध के लिए टोकन मान्य करें:

const validateCSRFToken = (req, res, next) => {
    const token = req.body.csrf_token;
    if (token === req.session.csrfToken) {
        next();
    } else {
        res.status(403).send('CSRF validation failed');
    }
};

2. सेमसाइट कुकीज़

कुकीज़ के लिए सेमसाइट विशेषता क्रॉस-साइट अनुरोधों के साथ कुकीज़ कैसे भेजी जाती है, इसे नियंत्रित करके सीएसआरएफ हमलों को कम कर सकती है।

res.cookie('session', 'value', { sameSite: 'Strict' });

3. डबल सबमिट कुकी

डबल सबमिट कुकी विधि में सीएसआरएफ टोकन को कुकी और अनुरोध पैरामीटर दोनों के रूप में भेजना शामिल है।

चरण-दर-चरण कार्यान्वयन:

1. सीएसआरएफ टोकन को कुकी के रूप में सेट करें:

res.cookie('csrfToken', csrfToken, { httpOnly: true });

** अनुरोधों में टोकन शामिल करें: **

** 3. सर्वर पर टोकन को मान्य करें: **

const validateCSRFToken = (req, res, next) => {
    const token = req.cookies.csrfToken;
    const bodyToken = req.body.csrf_token;
    if (token && token === bodyToken) {
        next();
    } else {
        res.status(403).send('CSRF validation failed');
    }
};

निष्कर्ष

क्रॉस-साइट रिक्वेस्ट फोर्जरी (सीएसआरएफ) एक गंभीर खतरा है जो आपके वेब एप्लिकेशन की सुरक्षा से समझौता कर सकता है। यह समझकर कि सीएसआरएफ हमले कैसे काम करते हैं और सीएसआरएफ टोकन, सेमसाइट कुकीज़ और डबल सबमिट कुकीज़ जैसी मजबूत रोकथाम तकनीकों को लागू करके, आप अपने एप्लिकेशन और उपयोगकर्ताओं को इस सामान्य भेद्यता से बचा सकते हैं। एक सुरक्षित और संरक्षित उपयोगकर्ता अनुभव सुनिश्चित करने के लिए अपनी विकास प्रक्रिया में हमेशा सुरक्षा सर्वोत्तम प्रथाओं को प्राथमिकता दें।

इन सीएसआरएफ रोकथाम तकनीकों को आज ही अपने जावास्क्रिप्ट अनुप्रयोगों में लागू करें और अपने उपयोगकर्ताओं के डेटा को सुरक्षित रखें। नीचे टिप्पणी में अपने विचार और अनुभव साझा करें। अधिक वेब सुरक्षा युक्तियों और युक्तियों के लिए अनुसरण करना न भूलें!

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/rigalpatel001/understand-and-preventing-cross-site-request-forgery-csrf-in-javascript-2ne0?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 से संपर्क करें इसे हटाने के लिए .com
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3