2015-04-10 12 views
6

मैं क्लाइंट सर्वर आरईएसटी एप्लीकेशन बना रहा हूं। ग्राहक पक्ष कोणीय पर आधारित है जबकि सर्वर PHP है (यह कि यह किसी भी तरह से महत्वपूर्ण नहीं है)।क्लाइंट सर्वर रीस्ट एपीआई कैप्चा कार्यान्वयन

क्या मैं सोच रहा हूं कि क्या कोई सर्वोत्तम प्रथा है, इस मामले में कैप्चा कार्यान्वयन के अच्छे उदाहरण हैं? कैप्चा का उपयोग उपयोगकर्ता पंजीकरण इत्यादि के लिए किया जाएगा

मैं किसी भी विशिष्ट पुस्तकालय तक सीमित नहीं हूं, केवल आवश्यकता यह है कि क्लाइंट साइड पर तीसरे पक्ष के सर्वर पर कोई कॉल नहीं हो सकती है (जेएस लाइब्रेरी तीसरे पक्ष सर्वर या रिक एपीआई पर होस्ट की गई है कुंजी आदि)।

धन्यवाद

उत्तर

10

है गूगल कैप्चा एक उपयोगकर्ता को मंजूरी दी है, यह आप एक टोकन प्रदान करता है।

तो इस संदर्भ की कल्पना करें। उपयोगकर्ता सहेजने वाले हैं, और कैप्चा का उपयोग करते हैं, कैप्चा उपयोगकर्ता को स्वीकृति मिलने तक अपना व्यवसाय करता है और आपको टोकन देता है, यह सब मायने रखता है।

यदि आप इसके लिए अनुरोधों का "टेटेटिव" प्रवाह देखना चाहते हैं।

  1. रजिस्टर से पहले उपयोगकर्ता कैप्चा पास कर चुके हैं, कैप्चा आपको सामने के अंत में एक टोकन देता है।
  2. उपयोगकर्ता क्लिक सहेजते हैं, आप बैकएंड फॉर्म फॉर्म और कैप्चा टोकन में प्राप्त करते हैं। आप एपीआई के माध्यम से Google से पूछने के लिए कहते हैं, टोकन असली है? अगर उन्होंने हाँ कहा, तो आप फॉर्म को सहेजते हैं, अगर किसी भी तरह से Google इसे पहचान नहीं पाता है, तो आप एक त्रुटि वापस कर देते हैं।
  3. फ्रंट एंड सफलता या त्रुटि और किस तरह की त्रुटि के लिए सुनो। अगर त्रुटि कैप्चा है, एक पुनः प्रयास करें, एक नया टोकन प्राप्त करें।
  4. बैकएंड फिर से फॉर्म डेटा और नया टोकन प्राप्त करता है और फिर से जांचता है।
0

गूगल की नई-ish ReCAPTCHA के बहुत चालाक है। उनके पास उदाहरण और उपयोग परिदृश्यों को समझने में कई आसान हैं।

https://www.google.com/recaptcha/intro/index.html

संपादित करें: कैसे एक RESTful आवेदन में इस लागू करने के लिए की अपने विशिष्ट प्रश्न को हल करने के लिए, मैं दो फ़ाइलों बनाना चाहते हैं। एक इंडेक्स.एफ़पी जैसी सार्वजनिक-सामने वाली फाइल होगी और दूसरा बैक-एंड फ़ाइल होगी जो निजी जानकारी रखेगी।

मैं अपने पूर्व-लिखित कैसे-यहां कॉपी/पेस्ट कर सकता हूं, या मैं आपको the article I wrote 2 months ago से लिंक कर सकता हूं।

+0

मुझे कैप्चा लाइब्रेरी के लिए वास्तव में सलाह की आवश्यकता नहीं थी, क्लाइंट-सर्वर आराम वातावरण में इसे कार्यान्वित करने के तरीके पर अधिक सलाह नहीं थी। –

0

आप google-recaptcha पर एक नज़र डाल सकते हैं। इसके कोणीय कार्यान्वयन यहाँ

vcRecaptcha

+1

मुझे कैप्चा लाइब्रेरी के लिए वास्तव में सलाह की आवश्यकता नहीं थी, क्लाइंट-सर्वर आराम वातावरण में इसे कार्यान्वित करने के तरीके के बारे में अधिक सलाह। –

+0

@VladimirCvetic आपके प्रश्न के अनुसार "क्या मैं सोच रहा हूं कि क्या कोई अच्छा अभ्यास है, इस मामले में कैप्चा कार्यान्वयन के अच्छे उदाहरण हैं?" आप बस कुछ अच्छे कैप्चा के बारे में चाहते थे। इसलिए मैंने नाम और साथ ही लिंक भी दिया। यदि आप लिंक खोलेंगे तो आपको डेमो और उदाहरण मिलेगा। और यदि आप पूरा कोड चाहते हैं तो स्टैकओवरफ्लो सही जगह नहीं है। क्योंकि स्टैक ओवरफ्लो कोड देने/प्रदान करने के बारे में नहीं है। – Anita

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