मैंने अब तक ऐसा कोई उदाहरण नहीं देखा है, लेकिन आपका माध्यमिक प्रश्न क्या है? आपके द्वारा प्रदान किया गया उदाहरण दिखाता है कि ई-मेल कैसे भेजना है।
https://github.com/Marak/node_mailer
भी अच्छी तरह से कैसे ई-मेल भेजने के लिए पर प्रलेखित किया जा रहा है कौन सा: एक अन्य विकल्प इस पैकेज का प्रयोग है।
इसलिए मुझे लगता है कि आप साइन-अप सिस्टम को कैसे सेट अप करना चाहते हैं। ऐसा करने का एक तरीका है उन उपयोगकर्ताओं को पंजीकृत करने के लिए एक टेबल रखना जिसमें e-mail
और token
कॉलम हैं। E-mail
स्पष्ट है, token
एक यादृच्छिक रूप से जेनरेट की गई स्ट्रिंग है (उदाहरण के लिए नोड की crypto.randomBytes
विधि) जो उपयोगकर्ता के लिंक के हिस्से के रूप में भेजी जाएगी। लिंक दर्ज करने पर, आप इस टोकन के लिए डेटाबेस खोजते हैं और यदि यह पाया जाता है, तो आप पंजीकरण के साथ आगे बढ़ते हैं।
नोट करने के लिए दो चीजें: टोकन बनाते समय, सुनिश्चित करें कि यह पहले से ही डीबी में मौजूद नहीं है। दूसरा: कई घंटों से पुराने टोकन को हटाने के लिए valid_until
कॉलम का उपयोग करना एक अच्छा अभ्यास है।
अद्यतन:
दुर्भाग्य से, नोड के बेस 64 निर्यात यूआरएल-सुरक्षित नहीं है।
require('crypto').randomBytes(48, function(ex, buf) {
token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-'));
});
Perhaps someone will come up with a better solution.
स्रोत
2012-01-12 22:00:38
उत्तर के लिए धन्यवाद: इसलिए, इस सुरक्षित टोकन प्राप्त करने का सबसे आसान तरीका मैंने पाया है। मैंने node_mailer मॉड्यूल देखा है मुझे टोकन बनाने की विधि में रूचि है। लेकिन हैकर हमले को रोकने के लिए मुझे कोई अभ्यास देखने के लिए कुछ मजबूत उदाहरण देखने की जरूरत है। क्या आपका फॉर्मूला सुरक्षित है? – Erik
अच्छा, मुझे लगता है कि यह एक ई-मेल के रूप में सुरक्षित है। आप पासवर्ड से उपयोगकर्ता को सत्यापित नहीं कर सकते हैं क्योंकि आपके पास अभी तक कोई नहीं है, इसलिए आपको भरोसा करना होगा कि उपयोगकर्ता जो गुप्त टोकन को ई-मेल द्वारा भेजता है वह वास्तविक ई-मेल स्वामी है। यदि आप अतिरिक्त सुरक्षा चाहते हैं, तो आप समय के साथ अनुरोध आईपी देख सकते हैं। मुझे नोड उदाहरणों के बारे में पता नहीं है, लेकिन मैंने इस सिद्धांत को रेल एप्स के आसपास इस्तेमाल किया है। –
धन्यवाद। और आखिरी सवाल: मुझे टोकन कैसे उत्पन्न करना चाहिए? केवल crypto.randomBytes का उपयोग करके या मुझे गोंद ईमेल + आईपी + कुछ और करना चाहिए? – Erik