2012-03-30 16 views
6

मैं अपनी वेबसाइट को क्रॉल करने के लिए खराब अज्ञात बॉट्स का विरोध कैसे कर सकता हूं? कुछ बुरे बॉट जिनका नाम अपाचे के सीपीनल में मौजूद नहीं है, मेरी वेबसाइट बैंडविड्थ को बुरी तरह से एक्सेस कर रहे हैं।मेरी वेबसाइट को क्रॉल करने वाले खराब अज्ञात बॉट को कैसे अवरुद्ध करें?

मैंने batgap.com/robots.txt पर robots.txt की कोशिश की थी और .htaccess के साथ भी अवरुद्ध किया था लेकिन बैंडविड्थ उपयोग में कोई सुधार नहीं है। मैं उन बॉट्स के आईपी को नहीं जानता, इसलिए उन्हें आईपी पते से अवरुद्ध करने में असमर्थ। ये बॉट साइट की बहुत अधिक बैंडविड्थ का उपभोग कर रहे हैं और इसलिए परिणामस्वरूप मुझे सर्वर से इसे बढ़ाने की ज़रूरत है।

+0

क्लाउडफ्लेयर? या आप एक obfuscated जेएस-आधारित रीडायरेक्ट को eval कर सकते हैं और इसके बजाय ज्ञात बॉट्स को इसे धोखा देकर उन्हें हेडर रीडायरेक्ट भेजकर भेज सकते हैं। लेकिन नियमित उपयोगकर्ताओं को जेएस होना चाहिए और एक obfuscated रीडायरेक्ट का पालन करने में सक्षम होना चाहिए। –

+0

@ संदीप कुमार, अगर यह अभी भी आपके लिए वास्तविक है [पोस्ट] [http://scraping.pro/my-site-is-being-scraped-how-can-i-prevent-being-scraped/)। –

उत्तर

1

दुर्भाग्य से robots.txt को कभी-कभी इन "खराब बॉट्स" द्वारा अनदेखा किया जाता है, हालांकि यदि समस्या वास्तविक खोज इंजन मकड़ियों की तरह अधिक चीजें हैं जो आप नहीं देखना चाहते हैं कि उन्हें इसे ध्यान में रखना चाहिए। मुझे सीपीनेल के साथ लगता है कि आप वेब सर्वर (अपाचे) लॉग में जा सकते हैं? वहां आप दो चीजों की तलाश कर सकते हैं: आईपी और उपयोगकर्ता-एजेंट। आप वहां अपराधी पा सकते हैं और उन्हें अपने robots.txt और .htaccess में जोड़ सकते हैं। ध्यान दें कि आईपी पते को अस्वीकार करने वाले htaccess नियम बहुत बेहतर हैं जो सिर्फ robots.txt पर भरोसा करते हैं क्योंकि आप बॉट निर्माता के हाथों से चुनाव ले रहे हैं।

यदि आप विशिष्ट बॉट्स जानते हैं जो ऐसा कर रहे हैं तो आपको आईपी पते और उपयोगकर्ता-एजेंट मंचों से प्राप्त करने में सक्षम होना चाहिए, लेकिन यदि यह एक सामान्य बात है तो वास्तव में मुझे डर है कि यह एक मैन्युअल नौकरी है।

ऐसे mod_security के रूप में अन्य तरीकों कि प्रभाव अलग-अलग किया जा सकता है, (http://www.askapache.com/htaccess/modsecurity-htaccess-tricks.html) लेकिन इसका मतलब यह होगा कि आप का उपयोग करना होगा रहे हैं आपका वेब सर्वर विन्यास।

अंत में, आप अपनी वेबसाइट पर इंगित लिंक देख सकते हैं (लिंक का उपयोग कर: Google पर विकल्प)। कभी-कभी यदि आपके पास स्पैममी फ़ोरम पर लिंक हैं या इस तरह आपको प्राप्त करने वाले बॉट्स की संभावना बढ़ सकती है। हो सकता है कि आप अपाचे लॉग में रेफरर यूआरएल देख सकें - लेकिन यह सब कुछ अनुमानों पर आधारित है और यदि आप इसका बहुत अच्छा प्रभाव डालते हैं तो शायद आप भाग्यशाली होंगे।

3

मैं इंकापुला से हूं और हम नियमित आधार पर खराब बॉट से निपटते हैं।

हमने हाल ही में एक बॉट से संबंधित शोध जारी किया है जो समस्या के दायरे (http://www.incapsula.com/the-incapsula-blog/item/225-what-google-doesnt-show-you-31-of-website-traffic-can-harm-your-business) की अंतर्दृष्टि प्रदान करता है और इस डेटा के प्रकाश में मुझे @ लियोनार्ड चालीस से सहमत होना है - आप बस बॉट सुरक्षा को मैन्युअल रूप से संभाल नहीं सकते हैं।

यह कहकर कि, बॉट सुरक्षा समाधान हैं, यहां तक ​​कि नि: शुल्क (हमें शामिल) भी है जो आपको खराब बॉट्स में मदद कर सकता है।

बीटीडब्ल्यू - जैसा कि आपने बताया है, खराब बॉट विज़िट का एक उपज बैंडविड्थ का नुकसान है। हम हाल ही में इस बात से अवगत हो गए हैं कि वास्तव में कितनी आश्चर्यजनक रूप से विशाल बॉट-संबंधित बैंडविड्थ उपयोग वास्तव में है। यह स्वयं ही एक दिलचस्प विषय है। हम मानते हैं कि खराब बॉट यातायात से बचकर, होस्टिंग प्रदाता वास्तव में अपनी दक्षता में सुधार कर सकते हैं (उम्मीद है कि लागत कम करने या सेवाओं में सुधार के लिए इसका उपयोग कर रहे हैं)। एक बार जब आप सामाजिक और व्यावसायिक निहितार्थ की कल्पना करते हैं तो आप इस बुरी बॉट समस्या के वास्तविक दायरे को समझ सकते हैं जो तत्काल क्षति से परे है।

1

मैं PHP का उपयोग करके 'खराब बॉट' को अवरुद्ध करता हूं। मैं मुख्य रूप से उपयोगकर्ता-एजेंट द्वारा आईपी पते में फ़िल्टर करता हूं। मैं 999 सेकेंड तक 'खराब बॉट' इंतजार करता हूं, फिर एक बहुत छोटा वेब पेज लौटाता हूं। आमतौर पर (हमेशा) इंटरनेट कनेक्शन टाइम-आउट और शून्य (0) बाइट वापस आते हैं। सबसे अच्छा मैं अगले पीड़ित होने से पहले कुछ मिनटों में देरी कर चुका हूं। http://gelm.net/How-to-block-Baidu-with-PHP.htm

1

ब्लॉक अवांछित रोबोट/मकड़े पीएचपी के माध्यम से आगंतुकों

निर्देश:

प्लेस अपने index.php फ़ाइल की शुरुआत में निम्नलिखित पीएचपी कोड।

यहां विचार साइट के मुख्य प्रवेश बिंदु, मुख्य साइट के PHP होम पेज में कोड रखना है।

यदि आपके पास अन्य PHP फ़ाइलें हैं जो सीधे एक यूआरएल के माध्यम से पहुंची हैं (PHP सहित शामिल नहीं है या समर्थन प्रकार फ़ाइलों की आवश्यकता है), तो कोड को उन फ़ाइलों की शुरुआत में रखें। अधिकांश PHP साइट्स और PHP सीएमएस साइट्स के लिए, रूट की index.php फ़ाइल वह फ़ाइल है जो साइट का मुख्य प्रवेश बिंदु है।

ध्यान रखें कि आपकी साइट के आंकड़े, यानी एडब्लैट्स, अभी भी अज्ञात रोबोट के तहत हिट लॉग करेंगे ('बॉट' द्वारा पहचाने जाने वाले स्थान या निम्न वर्णों में से एक _ +:,।/-), लेकिन इन बॉट्स को आपकी साइट की सामग्री तक पहुंचने से अवरुद्ध कर दिया जाएगा।

<?php 
// --------------------------------------------------------------------------------------------------------------- 

// Banned IP Addresses and Bots - Redirects banned visitors who make it past the .htaccess and or robots.txt files to an URL. 
// The $banned_ip_addresses array can contain both full and partial IP addresses, i.e. Full = 123.456.789.101, Partial = 123.456.789. or 123.456. or 123. 
// Use partial IP addresses to include all IP addresses that begin with a partial IP addresses. The partial IP addresses must end with a period. 
// The $banned_bots, $banned_unknown_bots, and $good_bots arrays should contain keyword strings found within the User Agent string. 
// The $banned_unknown_bots array is used to identify unknown robots (identified by 'bot' followed by a space or one of the following characters _+:,.;/\-). 
// The $good_bots array contains keyword strings used as exemptions when checking for $banned_unknown_bots. If you do not want to utilize the $good_bots array such as 
// $good_bots = array(), then you must remove the the keywords strings 'bot.','bot/','bot-' from the $banned_unknown_bots array or else the good bots will also be banned. 
    $banned_ip_addresses = array('41.','64.79.100.23','5.254.97.75','148.251.236.167','88.180.102.124','62.210.172.77','45.','195.206.253.146'); 
    $banned_bots = array('.ru','AhrefsBot','crawl','crawler','DotBot','linkdex','majestic','meanpath','PageAnalyzer','robot','rogerbot','semalt','SeznamBot','spider'); 
    $banned_unknown_bots = array('bot ','bot_','bot+','bot:','bot,','bot;','bot\\','bot.','bot/','bot-'); 
    $good_bots = array('Google','MSN','bing','Slurp','Yahoo','DuckDuck'); 
    $banned_redirect_url = 'http://english-1329329990.spampoison.com'; 

// Visitor's IP address and Browser (User Agent) 
    $ip_address = $_SERVER['REMOTE_ADDR']; 
    $browser = $_SERVER['HTTP_USER_AGENT']; 

// Declared Temporary Variables 
    $ipfound = $piece = $botfound = $gbotfound = $ubotfound = ''; 

// Checks for Banned IP Addresses and Bots 
    if($banned_redirect_url != ''){ 
    // Checks for Banned IP Address 
     if(!empty($banned_ip_addresses)){ 
      if(in_array($ip_address, $banned_ip_addresses)){$ipfound = 'found';} 
      if($ipfound != 'found'){ 
      $ip_pieces = explode('.', $ip_address); 
      foreach ($ip_pieces as $value){ 
       $piece = $piece.$value.'.'; 
       if(in_array($piece, $banned_ip_addresses)){$ipfound = 'found'; break;} 
      } 
      } 
      if($ipfound == 'found'){header("location: $banned_redirect_url"); exit();} 
     } 

    // Checks for Banned Bots 
     if(!empty($banned_bots)){ 
      foreach ($banned_bots as $bbvalue){ 
      $pos1 = stripos($browser, $bbvalue); 
      if($pos1 !== false){$botfound = 'found'; break;} 
      } 
      if($botfound == 'found'){header("location: $banned_redirect_url"); exit();} 
     } 

    // Checks for Banned Unknown Bots 
     if(!empty($good_bots)){ 
      foreach ($good_bots as $gbvalue){ 
      $pos2 = stripos($browser, $gbvalue); 
      if($pos2 !== false){$gbotfound = 'found'; break;} 
      } 
     } 
     if($gbotfound != 'found'){ 
      if(!empty($banned_unknown_bots)){ 
      foreach ($banned_unknown_bots as $bubvalue){ 
       $pos3 = stripos($browser, $bubvalue); 
       if($pos3 !== false){$ubotfound = 'found'; break;} 
      } 
      if($ubotfound == 'found'){header("location: $banned_redirect_url"); exit();} 
      } 
     } 
    } 

// --------------------------------------------------------------------------------------------------------------- 
?> 
संबंधित मुद्दे