php

2012-11-14 35 views
8

में उपयोगकर्ता एजेंट स्ट्रिंग से ब्राउज़र स्पूफ़िंग और रोबोट का पता लगाने के लिए अभी तक मैं ज्ञात उपयोगकर्ता एजेंटों को इन तारों से मेल करके उपयोगकर्ता एजेंट स्ट्रिंग की सूची से रोबोट का पता लगाने में सक्षम हूं, लेकिन मैं सोच रहा था कि अन्य विधियां क्या हैं PHP का उपयोग करके ऐसा करने के लिए क्योंकि मैं इस विधि का उपयोग करके अपेक्षाकृत कम बॉट्स पुनर्प्राप्त कर रहा हूं।php

मैं यह भी पता लगाने के लिए देख रहा हूं कि ब्राउज़र एजेंट या रोबोट किसी उपयोगकर्ता एजेंट स्ट्रिंग का उपयोग करके किसी अन्य ब्राउज़र को धोखा दे रहा है या नहीं।

किसी भी सलाह की सराहना की है। "GET/कैम/uni_ave2 -

संपादित करें: - [: 00: 00 05 -0300 11/अक्टूबर/2011]

129.173.129.168: यह लाइनों के साथ एक लॉग फ़ाइल का उपयोग किया जा करने के लिए इस प्रकार है ? .jpg समय = 1318302291289 HTTP/1.1 "200 20240" http://faculty.dentistry.dal.ca/loanertracker/webcam.html "" मोज़िला/5.0 (Macintosh; यू, पीपीसी Mac OS X 10.4, en-US; आरवी: 1.9.2.23) गेको/20110 9 20 फ़ायरफ़ॉक्स/3.6.23 "

इसका मतलब है कि मैं एक्सेस समय से उपयोगकर्ता व्यवहार को अलग नहीं कर सकता।

+3

दुर्भाग्य से, चाहे आप कितनी मेहनत करते हैं, बॉट्स अभी भी इसके लिए लागू करने के लिए जो कुछ भी प्रबंधित करेंगे, उसके द्वारा प्राप्त होगा। – noko

+2

यह संभव नहीं है। आप इसे ह्यूरिस्टिक रूप से देख सकते हैं, लेकिन यह है। – Brad

उत्तर

4

उपयोगकर्ता एजेंटों की तुलना करने से परे, आप गतिविधि का लॉग रखेंगे और रोबोट व्यवहार की तलाश करेंगे। कई बार इसमें /robots.txt की जांच करना और छवियों को लोड नहीं करना शामिल होगा। एक और चाल क्लाइंट से पूछना है कि उनके पास जावास्क्रिप्ट है क्योंकि अधिकांश बॉट इसे सक्षम के रूप में चिह्नित नहीं करेंगे।

हालांकि, सावधान रहें, आप शायद कुछ लोगों को गलती से प्राप्त कर सकें जो वास्तव में लोग हैं।

<a style="display:none" href="autocatch.php">A</a> 

(या "autocatch.php" सत्र को रिकॉर्ड में तो आईपी:

+1

मुझे स्पष्टीकरण देना चाहिए; मुझे उपयोगकर्ता एजेंटों की लॉग फ़ाइल का उपयोग करके ऐसा करना है, इस प्रकार मैं जावास्क्रिप्ट या लोड की गई छवियों की जांच नहीं कर सकता, लेकिन सहायता – user1422508

+0

के लिए धन्यवाद, फिर आपको लॉग पोस्ट करने की आवश्यकता है, अन्यथा मुझे नहीं पता कि आपको किस जानकारी के साथ काम करना है । – Kyros

+0

मूल पोस्ट को लॉग फ़ाइल से एक पंक्ति के उदाहरण के साथ संपादित किया गया है, वास्तविक फ़ाइल में 70000 से अधिक लाइनें हैं लेकिन वे इसी तरह की संरचना में हैं। – user1422508

13

अलावा उपयोगकर्ता एजेंट स्ट्रिंग में मुख्य शब्द को छानने के लिए, मैं सभी पृष्ठों पर एक छिपा शहद रखने का बर्तन लिंक डालने के साथ भाग्य पड़ा है पता) एक बॉट के रूप में। यह लिंक उपयोगकर्ताओं के लिए अदृश्य है लेकिन इसकी छुपी विशेषता उम्मीद है कि बॉट्स द्वारा महसूस नहीं किया जाएगा। शैली विशेषता को लेना और इसे एक सीएसएस फ़ाइल में डालने से और भी मदद मिल सकती है।

+1

यह तकनीक स्पैमर को पकड़ने के लिए बहुत अच्छी तरह से काम करती है इनपुट इनपुट = "छुपा" नाम ईमेल करके और अपना वास्तविक दृश्य ईमेल फॉर्म फ़ील्ड कुछ और कहलाता है। एक छिपे हुए लिंक का एकमात्र नकारात्मक पक्ष यह है कि इसे Google – WebChemist

+0

द्वारा ब्लैकहाट एसईओ के रूप में फ़्लैग किया जा सकता है जैसा कि @ वेबकैमिस्ट ने कहा, यह खतरनाक है। हम ऐसी दुनिया में रहते हैं जहां बुद्धिमान और अन्यथा "सही" समाधान अक्सर 'गलत' समाधान होते हैं क्योंकि: Google। छिपा लिंक के साथ बहुत सावधान रहें। – Bangkokian

2

नहीं है, उपयोगकर्ता एजेंटों ताकि वे पर भरोसा किया जा करने के लिए नहीं कर रहे हैं जाली जा सकता है।

जावास्क्रिप्ट या छवि/सीएसएस लोड की जांच करने के अलावा, आप पैगेलोड गति को भी माप सकते हैं क्योंकि बॉट आमतौर पर आपकी साइट को किसी भी मानव आगंतुक के चारों ओर कूदने से बहुत तेज़ी से क्रॉल करेंगे। लेकिन यह केवल छोटी साइटों, लोकप्रिय साइटों के लिए काम करता है जिनमें साझा बाहरी आईपी पते (बड़े निगम या विश्वविद्यालय परिसर) के पीछे बहुत से आगंतुक होंगे, जो आपकी साइट को बॉट-जैसी दरों पर हिट कर सकते हैं।

मैं तुम्हें भी वे किस क्रम में लोड के रूप में बॉट पहले आओ पहले क्रॉल आदेश जहां मानव उपयोगकर्ताओं के रूप में आम तौर पर उस अनुरूप नहीं पाए हैं में क्रॉल करेगा आकलन कर सकता है लगता है, लेकिन thats थोड़ा और अधिक जटिल ट्रैक करने के लिए

+1

यह सहायक था, धन्यवाद! – user1422508

+0

कोई समस्या नहीं, यहां एक पोस्ट है जिसने मुझे किसी अन्य उपयोगकर्ता को अत्यधिक बॉट पगेलोड्स को रोकने के लिए अवरुद्ध स्क्रिप्ट बनाने में मदद की है जिसे आप अपनी जरूरतों को समायोजित करने में सक्षम हो सकते हैं http://webmasters.stackexchange.com/questions/35171/number-of- पृष्ठ-अनुरोध-द्वारा-किसी भी-बॉट-इन -5-सेकंड – WebChemist

+0

ग्रेट, धन्यवाद, अगर मैं कर सकता तो मैं ऊपर हट जाऊंगा – user1422508

5

चूंकि, जैसा कि पहले बताया गया था, आप उपयोगकर्ता-एजेंट & आईपी को धोखा दे सकते हैं, इन्हें भरोसेमंद बॉट डिटेक्शन के लिए उपयोग नहीं किया जा सकता है।

मैं इस तरह एक सुरक्षा कंपनी और हमारे बॉट पहचान एल्गोरिथ्म देखो कुछ के लिए काम करते हैं:

  1. चरण 1 - डेटा एकत्रित हो:

    एक। क्रॉस-चेक उपयोगकर्ता-एजेंट बनाम आईपी। (दोनों सही होने की जरूरत है)

    ज।हेडर पैरामीटर जांचें (क्या गुम है, ऑर्डर और इत्यादि क्या है ...)

    सी। व्यवहार (जल्दी पहुँच और robots.txt के अनुपालन, सामान्य व्यवहार, पृष्ठों की संख्या का दौरा किया, यात्रा दरों और आदि)

  2. चरण की जाँच करें 2 - वर्गीकरण:

    डेटा की पुष्टि करने के पार करके, बॉट है

    संदेहास्पद बॉट निम्नलिखित चुनौतियों से गुजरना:

    ०१२३५१६४१० सक्रिय चुनौतियां - के रूप में "अच्छा", "बुरा" या "संदिग्ध"

  3. चरण 3 में वर्गीकृत

    ए। जेएस चैलेंज (क्या यह जेएस सक्रिय कर सकता है?)

    बी। कुकी चैलेंज (क्या यह कोकी स्वीकार कर सकता है?)

    सी। अगर अब भी निर्णायक नहीं -> कॅप्चा

फ़िल्टर तंत्र बहुत प्रभावी है, लेकिन मैं वास्तव में नहीं लगता कि यह (एक बात है, चुनौतियों और बॉट डीबी की जरूरत के लिए किसी एक व्यक्ति या यहां तक ​​कि एक unspecialized प्रदाता द्वारा दोहराया जा सकता है सुरक्षा टीम द्वारा लगातार अद्यतन किया जाना चाहिए)।

हम किसी प्रकार का की पेशकश Botopedia.org के रूप में उपकरण "यह अपने आप करते हैं", हमारी निर्देशिका कि आईपी/उपयोगकर्ता-नाम पार सत्यापन के लिए इस्तेमाल किया जा सकता है, लेकिन वास्तव कुशल समाधान के लिए आप विशेष सेवाओं पर भरोसा करना होगा।

हमारे कई सहित कई मुफ्त बॉट निगरानी समाधान हैं और अधिकांश ऊपर वर्णित एक ही रणनीति का उपयोग करेंगे (या इसी तरह)।

जीएल

1

आपका प्रश्न विशेष रूप से उपयोगकर्ता एजेंट स्ट्रिंग का उपयोग कर पता लगाने से संबंधित है। जैसा कि कई ने उल्लेख किया है, इसे धोखा दिया जा सकता है।

यह समझने के लिए कि स्पूफिंग में क्या संभव है, और यह देखने के लिए कि कितना मुश्किल पता लगाना है, आपको शायद सबसे अच्छा सलाह है कि PHP में कला को कर्ल का उपयोग करके सीखें।

संक्षेप में cURL लगभग सब कुछ है कि एक ब्राउज़र (ग्राहक) अनुरोध में भेजा जा सकता है आईपी के उल्लेखनीय अपवाद के साथ जाली जा सकता है, लेकिन यहाँ भी का उपयोग कर एक निर्धारित spoofer भी खुद को एक प्रॉक्सी सर्वर के पीछे छुपा देगा अपने पता लगाने को खत्म करने उनके आईपी

यह कहने के बिना चला जाता है कि जब भी अनुरोध किया जाता है तो उसी पैरामीटर का उपयोग करने से एक स्पूफ़र का पता लगाया जा सकता है, लेकिन विभिन्न पैरामीटर के साथ घूर्णन करना मुश्किल हो जाएगा, अगर वास्तविक यातायात लॉग के बीच किसी भी स्पूफर्स का पता लगाना असंभव नहीं है।

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

  • कोई संबंधित समस्या नहीं^_^