JavaScript Secure Cookies and Local Storage : JS Security

Other Blogs

Image could not load

Secure cookies and local storage

JavaScript Security

Web development में security एक बहुत important aspect है। JavaScript applications को secure रखने के लिए हमें अलग-अलग vulnerabilities के बारे में जानना जरूरी है, जैसे कि Secure Cookies, और Local Storage .

इस blog में हम इन सब topics को detail में समझने कि कोशिश करेंगे, साथ ही examples और prevention techniques भी discuss करेंगे ताकि आप अपनी web applications को secure बना सकें।

JS Secure Cookies

Cookies small pieces of data होते हैं जो client-side पर store होते हैं और server के साथ information exchange करने में help करते हैं। यह user sessions, preferences, और authentication के लिए use होते हैं।

यहां हम कुछ ऐसे methods discuss करेंगे जिन्हे follow करके cookies को secure किया जा सकता है।

1. Secure Flag

Secure flag ensure करता है कि cookie सिर्फ HTTPS connections पर ही send होगी।

Example in PHP

setcookie("sessionid", $value, [ 'secure' => true ]);

2. HttpOnly Flag

HttpOnly flag set करने से cookie JavaScript से access नहीं हो सकती, जो XSS attacks से protection देता है।

// php setcookie("sessionid", $value, [ 'httponly' => true ]);

3. SameSite Attribute

SameSite attribute cookies को cross-site requests में send hone से रोका देता है।

SameSite Values :

  • Strict : Cookie सिर्फ same site से आने वाली requests में ही send होगी।

  • Lax : GET requests में cookie send होगी, लेकिन POST में नहीं।

  • None : Cookie cross-site requests में भी send होगी (इसको use करते वक्त Secure flag ज़रूर set करें)।

setcookie("sessionid", $value, [ 'samesite' => 'Strict' ]);

4. Short Lifespan

Cookies कि lifespan कम रखें ताकि compromised cookies से कम damage हो।

setcookie("sessionid", $value, [ 'expires' => time() + 3600 // 1 hour ]);

5. Avoid Storing Sensitive Data

Cookies में sensitive information जैसे passwords, credit card details store न करें , अगर जरूरी हो तो data को encrypt करें।

JS Secure Local Storage

Local Storage एक web storage mechanism है जो browser में data को store करता है। इसमें data indefinitely store होता है जब तक कि manually clear न किया जाए।

Local Storage Security Concerns

  • XSS Vulnerabilities : अगर application XSS attacks से vulnerable है, तो attacker local storage में stored data को access कर सकता है।

  • No Expiration : Data indefinitely store होता है, जो sensitive information के लिए risky हो सकता है।

  • Lack of Secure Flag : Local storage में data को secure flag से protect नहीं किया जा सकता।

यहां हम कुछ ऐसे methods discuss करेंगे जिन्हे follow करके Local Storage को secure किया जा सकता है।

1. Avoid Storing Sensitive Data

Local storage में sensitive information जैसे tokens, passwords store न करें।

2. Encrypt Data

अगर data store करना जरूरी है, तो उससे encrypt करके store करें।

// Encrypting Data let encryptedData = CryptoJS.AES.encrypt('Sensitive Data', 'Secret Passphrase'); localStorage.setItem('data', encryptedData); // Decrypting Data let data = localStorage.getItem('data'); let decryptedData = CryptoJS.AES.decrypt(data, 'Secret Passphrase').toString(CryptoJS.enc.Utf8);

3. Implement Proper Input Sanitization

Application में proper input sanitization implement करें ताकि XSS attacks से बचा जा सके।

function sanitizeInput(input) { let temp = document.createElement('div'); temp.textContent = input; return temp.innerHTML; } let userInput = sanitizeInput(getUserInput()); document.getElementById('output').innerHTML = userInput;

4. Use Session Storage for Temporary Data

Session Storage local storage जैसा ही होता है , लेकिन data सिर्फ तब तक store होता है जब तक browser तब open है।

// Setting data sessionStorage.setItem('tempData', 'This is temporary'); // Getting data let data = sessionStorage.getItem('tempData');

Conclusion

Secure Cookies implement करके user sessions को secure रखा जा सकता है, जबकि Local Storage को cautiously use करना चाहिए और sensitive data को encrypt करना चाहिए।

इन सब practices को follow करके आप अपनी JavaScript applications को ज़्यादा secure बना सकते हैं और users को एक safe browsing experience दे सकते हैं।

Must read :

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !