अपने डेटा चोरी करने से बॉट को रोकने के लिए पहली बात तकनीकी नहीं है, यह कानूनी है। सबसे पहले, सुनिश्चित करें कि आपकी साइट की उपयोग की शर्तों में सही भाषा है जिसे आप रोकने की कोशिश कर रहे हैं वास्तव में कानूनी दृष्टिकोण से अस्वीकृत और रक्षायोग्य है। दूसरा, सुनिश्चित करें कि आप अपनी तकनीकी रणनीति को कानूनी मुद्दों के साथ दिमाग में डिजाइन करें। उदाहरण के लिए, अमेरिका में, यदि आप प्रमाणीकरण बाधा के पीछे डेटा डालते हैं और हमलावर इसे चुरा लेता है, तो यह संभवतः violation of the DMCA law है। तीसरा, एक वकील ढूंढें जो आपको आईपी और डीएमसीए मुद्दों पर सलाह दे सकता है ... स्टैक ओवरव्लो पर अच्छे लोग पर्याप्त नहीं हैं। :-)
अब, तकनीक के बारे में:
एक उचित समाधान की आवश्यकता है कि इससे पहले कि वे अपने संवेदनशील अजाक्स कॉल करने के लिए उपयोग कर सकते हैं उन प्रमाणीकृत किया है। यह आपको अपने अजाक्स कॉल के प्रति उपयोगकर्ता उपयोग की निगरानी करने की अनुमति देता है और (मैन्युअल रूप से या स्वचालित रूप से) किसी भी उपयोगकर्ता के खाते को रद्द करता है जो किसी विशेष समय अवधि में बहुत से अनुरोध करता है। (या यदि आप एक ट्रिकल दृष्टिकोण के खिलाफ बचाव करने की कोशिश कर रहे हैं तो बहुत सारे अनुरोध)।
पाठ्यक्रम का यह दृष्टिकोण परिष्कृत बॉट्स के लिए कमजोर है जो स्वचालित रूप से नए "उपयोगकर्ताओं" को साइन अप करते हैं, लेकिन एक उचित अच्छे कैप्चा कार्यान्वयन के साथ, इस तरह के बॉट को बनाना मुश्किल है।(http://en.wikipedia.org/wiki/CAPTCHA पर "circumvention" अनुभाग देखें)
यदि आप सार्वजनिक डेटा (कोई प्रमाणीकरण नहीं) की रक्षा करने का प्रयास कर रहे हैं तो आपके विकल्प अधिक सीमित हैं। जैसा कि अन्य उत्तरों ने नोट किया है, आप आईपी-एड्रेस-आधारित सीमाओं का प्रयास कर सकते हैं (और बड़े कॉर्पोरेट प्रॉक्सी उपयोगकर्ताओं के पीछे भाग सकते हैं) लेकिन परिष्कृत हमलावर लोड को वितरित करके इसके आसपास हो सकते हैं। वहाँ likley परिष्कृत सॉफ्टवेयर भी है जो अनुरोध समय, अनुरोध पैटर्न, आदि जैसी चीजें देखता है और बॉट स्पॉट करने की कोशिश करता है। पोकर साइट्स, उदाहरण के लिए, इस पर बहुत समय बिताएं। लेकिन इस तरह के सिस्टम सस्ते होने की उम्मीद न करें। एक आसान बात यह है कि आप अपने वेब लॉग (उदाहरण के लिए Splunk का उपयोग करके) कर सकते हैं और अपनी साइट पर क्लिक करने वाले शीर्ष एन आईपी पते ढूंढ सकते हैं, और फिर उन पर एक रिवर्स-आईपी लुकअप करें। कुछ वैध कॉर्पोरेट या आईएसपी प्रॉक्सी होंगे। लेकिन यदि आप सूची में कॉम्पीटर के डोमेन नाम को पहचानते हैं, तो आप अपने डोमेन को ब्लॉक कर सकते हैं या अपने वकीलों के साथ अनुवर्ती कर सकते हैं।
प्री-चोरी रक्षा के अलावा, आप "शहद पॉट" डालने के बारे में भी सोचना चाहेंगे: जानबूझकर नकली जानकारी जिसे आप बाद में ट्रैक कर सकते हैं। उदाहरण के लिए, नक्शा निर्माताओं को प्लेगिरिज्म पकड़ते हैं: वे अपने नक्शे में एक नकली सड़क डालते हैं और देखते हैं कि कौन से अन्य मानचित्र एक ही नकली सड़क दिखाते हैं। हालांकि यह निर्धारित लोगों को आपके सभी डेटा को चूसने से नहीं रोकता है, यह आपको बाद में पता चलता है कि आपका डेटा दोबारा उपयोग कर रहा है। यह आपके टेक्स्ट आउटपुट में अद्वितीय टेक्स्ट स्ट्रिंग एम्बेड करके और फिर बाद में Google पर उन तारों को खोजकर किया जा सकता है (मान लीजिए कि आपका डेटा किसी अन्य सार्वजनिक वेबसाइट पर पुनः उपयोग करने योग्य है)। यदि आपका डेटा HTML या छवियां है, तो आप एक ऐसी छवि शामिल कर सकते हैं जो आपकी साइट पर वापस इंगित करे, और आप ट्रैक कर सकते हैं कि इसे कौन डाउनलोड कर रहा है, और उन पैटर्न की तलाश करें जिन्हें आप फ्रीलोडर को बस्ट करने के लिए उपयोग कर सकते हैं।
ध्यान दें कि अन्य उत्तरों में से एक में जावास्क्रिप्ट एन्क्रिप्शन दृष्टिकोण गैर-प्रमाणीकृत सत्रों के लिए काम नहीं करेगा - एक हमलावर बस जावास्क्रिप्ट डाउनलोड कर सकता है और इसे नियमित ब्राउज़र की तरह चला सकता है। कहानी का नैतिक: सार्वजनिक डेटा अनिवार्य रूप से अनिश्चित है। यदि आप डेटा को सुरक्षित रखना चाहते हैं, तो इसे प्रमाणीकरण बाधा के पीछे रखें।
यह स्पष्ट है, लेकिन यदि आपका डेटा खोज इंजन द्वारा सार्वजनिक रूप से खोजने योग्य है, तो आपको दोनों के लिए एक गैर-AJAX समाधान की आवश्यकता होगी (Google आपके AJAX डेटा को नहीं पढ़ेगा!) और आप उनको चिह्नित करना चाहेंगे पेज NOARCHIVE इसलिए आपका डेटा Google के कैश में दिखाई नहीं देता है। आप शायद खोज इंजन क्रॉलर आईपी एड्रेस की एक सफेद सूची भी चाहते हैं, जिसे आप अपने खोज-इंजन-क्रॉल करने योग्य पृष्ठों में अनुमति देते हैं (आप इन्हें प्राप्त करने के लिए Google, Bing, याहू आदि के साथ काम कर सकते हैं), अन्यथा दुर्भावनापूर्ण बॉट आसानी से प्रतिरूपण कर सकते हैं Google और अपना डेटा प्राप्त करें।
निष्कर्ष में, मैं ऊपर @kdgregory गूंजना चाहता हूं: सुनिश्चित करें कि खतरे पर्याप्त है कि यह आवश्यक प्रयास के लायक है। कई कंपनियां इस हित को अधिक महत्व देती हैं कि अन्य लोग (वैध ग्राहक और घृणित अभिनेता दोनों) अपने व्यवसाय में हैं। यह हो सकता है कि आपका एक अजीब मामला है जहां आपके पास विशेष रूप से महत्वपूर्ण डेटा है, यह विशेष रूप से प्राप्त करने के लिए मूल्यवान है, इसे प्रमाणीकरण के बिना सार्वजनिक रूप से सुलभ होना चाहिए, और यदि कोई व्यक्ति आपका डेटा चुरा लेता है तो आपके कानूनी संसाधन सीमित होंगे। लेकिन वे सभी एक साथ स्वीकार्य रूप से एक असामान्य मामला है।
पीएस - इस समस्या के बारे में सोचने का एक और तरीका जो आपके मामले में लागू हो सकता है या नहीं। कभी-कभी यह बदलना आसान होता है कि आपका डेटा कैसे काम करता है जो इसे सुरक्षित करता है। उदाहरण के लिए, क्या आप अपनी साइट पर किसी सेवा में अपने डेटा को किसी भी तरह से जोड़ सकते हैं ताकि डेटा बहुत उपयोगी न हो जब तक कि इसका उपयोग आपके कोड के साथ नहीं किया जा रहा हो। या आप इसमें विज्ञापन एम्बेड कर सकते हैं, ताकि जहां भी दिखाया गया हो, आपको भुगतान मिलता है? और इसी तरह। मुझे नहीं पता कि इनमें से कोई भी कमी आपके मामले पर लागू होती है, लेकिन कई व्यवसायों ने इंटरनेट पर सामान मुक्त करने के तरीकों को पाया है (और व्यापक पुन: वितरण को रोकने के बजाए प्रोत्साहित करते हैं) और अभी भी पैसा कमाते हैं, इसलिए एक संकर मुक्त/वेतन रणनीति आपके मामले में संभव हो सकती है (या नहीं)।
"यदि यह सार्वजनिक जानकारी है, तो उसे गले लगाओ और इसका मुकाबला न करें - इसके बजाय इसे कैपिटल करने के तरीके खोजें।" +1 –
यूप, वह वाक्य अकेले एक +1 के लायक है। – anddoutoi