2012-01-12 20 views
11

मेरे पास एक ईमेल फ़ील्ड के साथ साइनअप फॉर्म है। जब कोई उपयोगकर्ता अपना ईमेल दर्ज करता है तो मुझे पंजीकरण लिंक भेजने की आवश्यकता होती है।Node.js - पंजीकरण पर ईमेल भेजें

मैंने साइनअप फॉर्म के साथ this Node.js उदाहरण देखा है। लेकिन यह केवल स्वागत सुविधा है।

क्या पंजीकरण ईमेल भेजने के साथ नोड.जेएस ऐप्स के कोई उदाहरण हैं?

उत्तर

22

मैंने अब तक ऐसा कोई उदाहरण नहीं देखा है, लेकिन आपका माध्यमिक प्रश्न क्या है? आपके द्वारा प्रदान किया गया उदाहरण दिखाता है कि ई-मेल कैसे भेजना है।

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.

+0

उत्तर के लिए धन्यवाद: इसलिए, इस सुरक्षित टोकन प्राप्त करने का सबसे आसान तरीका मैंने पाया है। मैंने node_mailer मॉड्यूल देखा है मुझे टोकन बनाने की विधि में रूचि है। लेकिन हैकर हमले को रोकने के लिए मुझे कोई अभ्यास देखने के लिए कुछ मजबूत उदाहरण देखने की जरूरत है। क्या आपका फॉर्मूला सुरक्षित है? – Erik

+1

अच्छा, मुझे लगता है कि यह एक ई-मेल के रूप में सुरक्षित है। आप पासवर्ड से उपयोगकर्ता को सत्यापित नहीं कर सकते हैं क्योंकि आपके पास अभी तक कोई नहीं है, इसलिए आपको भरोसा करना होगा कि उपयोगकर्ता जो गुप्त टोकन को ई-मेल द्वारा भेजता है वह वास्तविक ई-मेल स्वामी है। यदि आप अतिरिक्त सुरक्षा चाहते हैं, तो आप समय के साथ अनुरोध आईपी देख सकते हैं। मुझे नोड उदाहरणों के बारे में पता नहीं है, लेकिन मैंने इस सिद्धांत को रेल एप्स के आसपास इस्तेमाल किया है। –

+0

धन्यवाद। और आखिरी सवाल: मुझे टोकन कैसे उत्पन्न करना चाहिए? केवल crypto.randomBytes का उपयोग करके या मुझे गोंद ईमेल + आईपी + कुछ और करना चाहिए? – Erik

संबंधित मुद्दे