
Anti-Automation System
Predator एक प्रोटोटाइप वेब एप्लीकेशन है जिसे एंटी-क्रॉलिंग, एंटी-ऑटोमेशन और बॉट डिटेक्शन तकनीकों को प्रदर्शित करने के लिए डिज़ाइन किया गया है। इसका उपयोग हनीपॉट, एंटी-क्रॉलिंग सिस्टम या भेद्यता स्कैनर्स के लिए गलत सकारात्मक परीक्षण बिस्तर के रूप में किया जा सकता है।
चेतावनी: मैं प्रदर्शित विधियों के उपयोग को बिना यह जाने कि वे वास्तव में क्या करते हैं, एक उत्पादन सर्वर पर उपयोग करने से दृढ़ता से हतोत्साहित करता हूँ। याद रखें, केवल वही तकनीकें लागू की जानी चाहिए जो वेब एप्लीकेशन के अनुसार उपयोग योग्य लगती हैं। Predator तकनीकों का एक संग्रह है, इसका कोड जैसा है वैसा उपयोग नहीं किया जाना चाहिए।
नीचे दिया गया माइंड मैप एक ढीली-ढाली विज़ुअलाइज़ेशन है कि यहाँ प्रदर्शित तकनीकों को एक उत्पादन वातावरण में कैसे लागू किया जा सकता है।

नोट: "अवलोकन चरण" में संख्याओं और कारकों का उपयोग किसी क्लाइंट के लिए प्रतिष्ठा निर्धारित करने के लिए किया जा सकता है, जिसका उपयोग तब थ्रेशोल्ड पूरा होने पर दुर्भावनापूर्ण गतिविधि के एक मजबूत संकेतक के रूप में किया जा सकता है।
बॉट्स द्वारा भेजे गए HTTP हेडर अक्सर एक वास्तविक ब्राउज़र की तुलना में अलग क्रम में होते हैं या पूरी तरह से अनुपस्थित होते हैं। कई बॉट नैतिकता के लिए User-Agent हेडर में स्वयं को प्रकट करते हैं जबकि अन्य एक भी नहीं भेजते हैं।
यहाँ वर्णित अधिकांश HTML म्यूटेशन तकनीकों को selenium और puppeteer जैसे ब्राउज़र-आधारित फ्रेमवर्क के साथ बायपास किया जा सकता है, लेकिन isBot.js में लागू विभिन्न परीक्षणों के साथ उनका पता लगाया जा सकता है।
अधिकांश बॉट केवल वेबपेज और इमेज के अनुरोध करते हैं, लेकिन .css जैसी संसाधन फाइलों को अक्सर अनदेखा कर दिया जाता है क्योंकि वे उपयोग में HTTP कार्यान्वयन द्वारा डाउनलोड नहीं की जाती हैं। जब वेबपेज/इमेज और ऐसी संसाधन फाइलों का अनुपात एक पूर्वनिर्धारित सीमा से अधिक हो जाता है, तो बॉट का पता लगाया जा सकता है।
क्रॉलर में उपयोग किए जाने वाले बहुत से HTML पार्सर ब्राउज़र की तरह टूटे हुए HTML को संभाल नहीं सकते। उदाहरण के लिए, ब्राउज़र में निम्न लिंक पर क्लिक करने से page_1 पर जाता है लेकिन प्रभावित पार्सर बाद के मान यानी page_2 को पार्स करते हैं
<a/href="page_1"/href="page_2">Click</a>
इसका उपयोग उपयोगकर्ता अनुभव को प्रभावित किए बिना क्रॉलर को दूर रखने और प्रतिबंधित करने के लिए किया जा सकता है।
कुछ लिंक उपयोगकर्ताओं से CSS का उपयोग करके छिपाए जाते हैं, लेकिन स्वचालित प्रोग्राम अभी भी उन्हें देख सकते हैं। इन लिंक का उपयोग बॉट का पता लगाने और IP पते को प्रतिबंधित करने जैसी वांछित कार्रवाई करने के लिए किया जा सकता है।
जब Predator को संदेह होता है कि आगंतुक एक बॉट है, तो यह यादृच्छिक लिंक की यादृच्छिक संख्या उत्पन्न करता है जो एक पृष्ठ (limbo.php) पर ले जाते हैं जिसमें और अधिक यादृच्छिक लिंक होते हैं और यह प्रक्रिया दोहराती रहती है।
भेद्यता स्कैनर आमतौर पर एक पेलोड दर्ज करते हैं और देखते हैं कि वेबऐप एक निश्चित तरीके से प्रतिक्रिया करता है या नहीं। Predator HTML में अपेक्षित प्रतिक्रिया यानी सिग्नेचर शामिल करके एक भेद्यता होने का दिखावा कर सकता है। Predator वर्तमान में निम्नलिखित भेद्यताओं का अनुकरण करता है:
यह विधि वास्तव में कोई भेद्य कोड होस्ट किए बिना हनीपॉट स्थापित करना संभव बनाती है और गलत सकारात्मक परीक्षण के लिए परीक्षण बिस्तर के रूप में कार्य करती है।
PatheticGeek ने Predator को अच्छा दिखाने के लिए सभी फ्रंट-एंड जादू किया।