উত্তর:
এখানে স্পাইডার নামের একটি অনুসন্ধান ইঞ্জিন ডিরেক্টরি
তারপরে আপনি $_SERVER['HTTP_USER_AGENT'];
এজেন্টটিকে মাকড়সা বলছেন কিনা তা পরীক্ষা করতে ব্যবহার করুন ।
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
{
// what to do
}
strpos
ফিরে আসে FALSE
। এটি দ্রুত এবং আরও কার্যকর, যদিও (কোনও প্রাক প্রসেসিং নেই, এবং কোনও ও (এম) স্টোরেজ নেই)।
আমি নিম্নলিখিত কোডটি ব্যবহার করি যা দেখে মনে হচ্ছে এটি ঠিকঠাক কাজ করছে:
function _bot_detected() {
return (
isset($_SERVER['HTTP_USER_AGENT'])
&& preg_match('/bot|crawl|slurp|spider|mediapartners/i', $_SERVER['HTTP_USER_AGENT'])
);
}
16-06-2017 আপডেট করুন https://support.google.com/webmasters/answer/1061943?hl=en
মিডিয়া পার্টনার যোগ করেছেন
$_SERVER['HTTP_USER_AGENT']
এখানে তালিকাভুক্ত কয়েকটি স্ট্রিংয়ের জন্য পরীক্ষা করুন:
http://www.useragentstring.com/pages/useragentstring.php
বা আরও নির্দিষ্টভাবে ক্রলারের জন্য:
http://www.useragentstring.com/pages/useragentstring.php?typ=Crawler
আপনি যদি সর্বাধিক সাধারণ ইঞ্জিন ক্রলারগুলির পরিদর্শন সংখ্যা লগতে চান, আপনি ব্যবহার করতে পারেন
$interestingCrawlers = array( 'google', 'yahoo' );
$pattern = '/(' . implode('|', $interestingCrawlers) .')/';
$matches = array();
$numMatches = preg_match($pattern, strtolower($_SERVER['HTTP_USER_AGENT']), $matches, 'i');
if($numMatches > 0) // Found a match
{
// $matches[1] contains an array of all text matches to either 'google' or 'yahoo'
}
এই ফাংশনটি সহ এটি কোনও অনুসন্ধান ইঞ্জিন কিনা আপনি চেকআউট করতে পারেন:
<?php
function crawlerDetect($USER_AGENT)
{
$crawlers = array(
'Google' => 'Google',
'MSN' => 'msnbot',
'Rambler' => 'Rambler',
'Yahoo' => 'Yahoo',
'AbachoBOT' => 'AbachoBOT',
'accoona' => 'Accoona',
'AcoiRobot' => 'AcoiRobot',
'ASPSeek' => 'ASPSeek',
'CrocCrawler' => 'CrocCrawler',
'Dumbot' => 'Dumbot',
'FAST-WebCrawler' => 'FAST-WebCrawler',
'GeonaBot' => 'GeonaBot',
'Gigabot' => 'Gigabot',
'Lycos spider' => 'Lycos',
'MSRBOT' => 'MSRBOT',
'Altavista robot' => 'Scooter',
'AltaVista robot' => 'Altavista',
'ID-Search Bot' => 'IDBot',
'eStyle Bot' => 'eStyle',
'Scrubby robot' => 'Scrubby',
'Facebook' => 'facebookexternalhit',
);
// to get crawlers string used in function uncomment it
// it is better to save it in string than use implode every time
// global $crawlers
$crawlers_agents = implode('|',$crawlers);
if (strpos($crawlers_agents, $USER_AGENT) === false)
return false;
else {
return TRUE;
}
}
?>
তারপরে আপনি এটি ব্যবহার করতে পারেন:
<?php $USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
if(crawlerDetect($USER_AGENT)) return "no need to lang redirection";?>
বট সনাক্ত করতে আমি এটি ব্যবহার করছি:
if (preg_match('/bot|crawl|curl|dataprovider|search|get|spider|find|java|majesticsEO|google|yahoo|teoma|contaxe|yandex|libwww-perl|facebookexternalhit/i', $_SERVER['HTTP_USER_AGENT'])) {
// is bot
}
অবাঞ্ছিত বটগুলি ব্লক করতে আমি একটি শ্বেতলিস্ট ব্যবহার করি:
if (preg_match('/apple|baidu|bingbot|facebookexternalhit|googlebot|-google|ia_archiver|msnbot|naverbot|pingdom|seznambot|slurp|teoma|twitter|yandex|yeti/i', $_SERVER['HTTP_USER_AGENT'])) {
// allowed bot
}
একটি অবাঞ্ছিত বট (= মিথ্যা-ইতিবাচক ব্যবহারকারী) তারপরে 24 ঘন্টা নিজেকে অবরুদ্ধ করতে একটি ক্যাপচা সমাধান করতে সক্ষম হয়। এবং যেহেতু কেউ এই ক্যাপচাকে সমাধান করে না, আমি জানি এটি মিথ্যা-ধনাত্মকতা তৈরি করে না। সুতরাং বট সনাক্তকরণটি সঠিকভাবে কাজ করছে বলে মনে হচ্ছে।
দ্রষ্টব্য: আমার শ্বেত তালিকাটি ফেসবুকস রোবটস.টি.এস.টি ভিত্তিক ।
)
আপনার কোডের প্রথম টুকরোটিতে একটি ক্লোজিং ভুলে গেছেন ।
যেহেতু যে কোনও ক্লায়েন্ট ব্যবহারকারী-এজেন্টকে সেগুলি সেট করতে পারে যা তারা চায়, 'গুগলবোট', 'বিংবোট' ইত্যাদি সন্ধান করা কেবল অর্ধেক কাজ।
দ্বিতীয় অংশটি ক্লায়েন্টের আইপি যাচাই করছে is পুরানো দিনগুলিতে এই আইপি তালিকা বজায় রাখা প্রয়োজন। অনলাইনে আপনি যে সমস্ত তালিকা পেয়েছেন সেগুলি পুরানো। গুগল https://support.google.com/webmasters/answer/80553 এবং বিং http://www.bing.com/webmaster/help/how-to-verify দ্বারা ব্যাখ্যা অনুসারে শীর্ষ অনুসন্ধান ইঞ্জিনগুলি আনুষ্ঠানিকভাবে ডিএনএসের মাধ্যমে যাচাইকরণ সমর্থন করে -bingbot-3905dc26
প্রথমে ক্লায়েন্টের আইপির বিপরীত ডিএনএস লুকআপ সম্পাদন করুন। গুগলের জন্য এটি googlebot.com এর অধীনে একটি হোস্টের নাম নিয়ে আসে, বিংয়ের জন্য এটি অনুসন্ধান.msn.com এর অধীনে। তারপরে, যেহেতু কেউ তার আইপিতে এই জাতীয় বিপরীত ডিএনএস সেট করতে পারে, তাই আপনাকে সেই হোস্টনামে একটি ফরোয়ার্ড ডিএনএস লুকআপ দিয়ে যাচাই করতে হবে। যদি ফলাফলের আইপি সাইটের দর্শকদের মধ্যে একইরকম হয় তবে আপনি নিশ্চিত যে এটি সেই অনুসন্ধান ইঞ্জিনের ক্রলার।
আমি জাভাতে একটি লাইব্রেরি লিখেছি যা আপনার জন্য এই চেকগুলি সম্পাদন করে। এটিকে পিএইচপি-তে বিনা দ্বিধায় ব্যবহার করুন। এটি গিটহাবটিতে রয়েছে: https://github.com/optimaize/webcrawler-verifier
আমি এই ফাংশনটি ব্যবহার করি ... রেগেক্সের কিছু অংশ প্রেস্ট্যাশপ থেকে আসে তবে আমি এতে আরও কিছু বট যোগ করেছি।
public function isBot()
{
$bot_regex = '/BotLink|bingbot|AhrefsBot|ahoy|AlkalineBOT|anthill|appie|arale|araneo|AraybOt|ariadne|arks|ATN_Worldwide|Atomz|bbot|Bjaaland|Ukonline|borg\-bot\/0\.9|boxseabot|bspider|calif|christcrawler|CMC\/0\.01|combine|confuzzledbot|CoolBot|cosmos|Internet Cruiser Robot|cusco|cyberspyder|cydralspider|desertrealm, desert realm|digger|DIIbot|grabber|downloadexpress|DragonBot|dwcp|ecollector|ebiness|elfinbot|esculapio|esther|fastcrawler|FDSE|FELIX IDE|ESI|fido|H�m�h�kki|KIT\-Fireball|fouineur|Freecrawl|gammaSpider|gazz|gcreep|golem|googlebot|griffon|Gromit|gulliver|gulper|hambot|havIndex|hotwired|htdig|iajabot|INGRID\/0\.1|Informant|InfoSpiders|inspectorwww|irobot|Iron33|JBot|jcrawler|Teoma|Jeeves|jobo|image\.kapsi\.net|KDD\-Explorer|ko_yappo_robot|label\-grabber|larbin|legs|Linkidator|linkwalker|Lockon|logo_gif_crawler|marvin|mattie|mediafox|MerzScope|NEC\-MeshExplorer|MindCrawler|udmsearch|moget|Motor|msnbot|muncher|muninn|MuscatFerret|MwdSearch|sharp\-info\-agent|WebMechanic|NetScoop|newscan\-online|ObjectsSearch|Occam|Orbsearch\/1\.0|packrat|pageboy|ParaSite|patric|pegasus|perlcrawler|phpdig|piltdownman|Pimptrain|pjspider|PlumtreeWebAccessor|PortalBSpider|psbot|Getterrobo\-Plus|Raven|RHCS|RixBot|roadrunner|Robbie|robi|RoboCrawl|robofox|Scooter|Search\-AU|searchprocess|Senrigan|Shagseeker|sift|SimBot|Site Valet|skymob|SLCrawler\/2\.0|slurp|ESI|snooper|solbot|speedy|spider_monkey|SpiderBot\/1\.0|spiderline|nil|suke|http:\/\/www\.sygol\.com|tach_bw|TechBOT|templeton|titin|topiclink|UdmSearch|urlck|Valkyrie libwww\-perl|verticrawl|Victoria|void\-bot|Voyager|VWbot_K|crawlpaper|wapspider|WebBandit\/1\.0|webcatcher|T\-H\-U\-N\-D\-E\-R\-S\-T\-O\-N\-E|WebMoose|webquest|webreaper|webs|webspider|WebWalker|wget|winona|whowhere|wlm|WOLP|WWWC|none|XGET|Nederland\.zoek|AISearchBot|woriobot|NetSeer|Nutch|YandexBot|YandexMobileBot|SemrushBot|FatBot|MJ12bot|DotBot|AddThis|baiduspider|SeznamBot|mod_pagespeed|CCBot|openstat.ru\/Bot|m2e/i';
$userAgent = empty($_SERVER['HTTP_USER_AGENT']) ? FALSE : $_SERVER['HTTP_USER_AGENT'];
$isBot = !$userAgent || preg_match($bot_regex, $userAgent);
return $isBot;
}
যাইহোক, যত্নবান হন যে কিছু বটগুলি তাদের পরিচয় নকল করতে ব্যবহারকারী এজেন্টের মতো ব্রাউজার ব্যবহার করে
(আমি অনেক রাশিয়ান আইপি পেয়েছি যা আমার সাইটে এই আচরণ করে)
বটের বেশিরভাগের একটি স্বতন্ত্র বৈশিষ্ট্য হ'ল তারা কোনও কুকি রাখেন না এবং তাই কোনও সেশন তাদের সাথে সংযুক্ত থাকে না।
(আমি জানি না কীভাবে তবে এটি নিশ্চিত যে এটি ট্র্যাক করার সর্বোত্তম উপায়)
আপনি ব্যবহারকারী এজেন্ট ( $_SERVER['HTTP_USER_AGENT']
) বিশ্লেষণ করতে পারেন বা ক্লায়েন্টের আইপি ঠিকানা ( $_SERVER['REMOTE_ADDR']
) এর সাথে সার্চ ইঞ্জিন বটগুলির আইপি অ্যাড্রেসের তালিকার তুলনা করতে পারেন ।
ডিভাইস ডিটেক্টর ওপেন সোর্স লাইব্রেরিটি ব্যবহার করুন, এটি একটি আইসবট () ফাংশন দেয়: https://github.com/piwik/device-detector
<?php // IPCLOACK HOOK
if (CLOAKING_LEVEL != 4) {
$lastupdated = date("Ymd", filemtime(FILE_BOTS));
if ($lastupdated != date("Ymd")) {
$lists = array(
'http://labs.getyacg.com/spiders/google.txt',
'http://labs.getyacg.com/spiders/inktomi.txt',
'http://labs.getyacg.com/spiders/lycos.txt',
'http://labs.getyacg.com/spiders/msn.txt',
'http://labs.getyacg.com/spiders/altavista.txt',
'http://labs.getyacg.com/spiders/askjeeves.txt',
'http://labs.getyacg.com/spiders/wisenut.txt',
);
foreach($lists as $list) {
$opt .= fetch($list);
}
$opt = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $opt);
$fp = fopen(FILE_BOTS,"w");
fwrite($fp,$opt);
fclose($fp);
}
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
$ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
$agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
$host = strtolower(gethostbyaddr($ip));
$file = implode(" ", file(FILE_BOTS));
$exp = explode(".", $ip);
$class = $exp[0].'.'.$exp[1].'.'.$exp[2].'.';
$threshold = CLOAKING_LEVEL;
$cloak = 0;
if (stristr($host, "googlebot") && stristr($host, "inktomi") && stristr($host, "msn")) {
$cloak++;
}
if (stristr($file, $class)) {
$cloak++;
}
if (stristr($file, $agent)) {
$cloak++;
}
if (strlen($ref) > 0) {
$cloak = 0;
}
if ($cloak >= $threshold) {
$cloakdirective = 1;
} else {
$cloakdirective = 0;
}
}
?>
এটি মাকড়সাগুলির জন্য পরিচ্ছন্নতার আদর্শ উপায়। এটি [ওয়াইএসিজি] - http://getyacg.com নামে একটি ওপেন সোর্স স্ক্রিপ্ট থেকে এসেছে
কিছুটা কাজের দরকার, তবে অবশ্যই যাওয়ার উপায়।
আমি এর জন্য একটি ভাল এবং দ্রুত ফাংশন করেছি
function is_bot(){
if(isset($_SERVER['HTTP_USER_AGENT']))
{
return preg_match('/rambler|abacho|acoi|accona|aspseek|altavista|estyle|scrubby|lycos|geona|ia_archiver|alexa|sogou|skype|facebook|twitter|pinterest|linkedin|naver|bing|google|yahoo|duckduckgo|yandex|baidu|teoma|xing|java\/1.7.0_45|bot|crawl|slurp|spider|mediapartners|\sask\s|\saol\s/i', $_SERVER['HTTP_USER_AGENT']);
}
return false;
}
এটি সমস্ত সম্ভাব্য বট, অনুসন্ধান ইঞ্জিন ইত্যাদির 99% কভার করে
আমি এই কোডটি ব্যবহার করছি, বেশ ভাল। আপনি খুব সহজেই ব্যবহারকারী-এজেন্টরা আপনার সাইটটি পরিদর্শন করতে পারবেন। এই কোডটি একটি ফাইল খুলছে এবং ব্যবহারকারী_এজেন্ট ফাইলটি লিখবে। আপনি এই ফাইলটি প্রতিদিন yourdomain.com/useragent.txt
নতুন ইউজার_এজেন্টস সম্পর্কে জানতে এবং পরীক্ষা করে পরীক্ষা করতে পারেন এবং যদি ক্লজটি আপনার শর্তে রেখেছেন।
$user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
if(!preg_match("/Googlebot|MJ12bot|yandexbot/i", $user_agent)){
// if not meet the conditions then
// do what you need
// here open a file and write the user_agent down the file. You can check each day this file useragent.txt and know about new user_agents and put them in your condition of if clause
if($user_agent!=""){
$myfile = fopen("useragent.txt", "a") or die("Unable to open file useragent.txt!");
fwrite($myfile, $user_agent);
$user_agent = "\n";
fwrite($myfile, $user_agent);
fclose($myfile);
}
}
এটি Useragent.txt এর সামগ্রী
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (compatible; MJ12bot/v1.4.6; http://mj12bot.com/)Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)mozilla/5.0 (compatible; yandexbot/3.0; +http://yandex.com/bots)
mozilla/5.0 (compatible; yandexbot/3.0; +http://yandex.com/bots)
mozilla/5.0 (compatible; yandexbot/3.0; +http://yandex.com/bots)
mozilla/5.0 (compatible; yandexbot/3.0; +http://yandex.com/bots)
mozilla/5.0 (compatible; yandexbot/3.0; +http://yandex.com/bots)
mozilla/5.0 (iphone; cpu iphone os 9_3 like mac os x) applewebkit/601.1.46 (khtml, like gecko) version/9.0 mobile/13e198 safari/601.1
mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/53.0.2785.143 safari/537.36
mozilla/5.0 (compatible; linkdexbot/2.2; +http://www.linkdex.com/bots/)
mozilla/5.0 (windows nt 6.1; wow64; rv:49.0) gecko/20100101 firefox/49.0
mozilla/5.0 (windows nt 6.1; wow64; rv:33.0) gecko/20100101 firefox/33.0
mozilla/5.0 (windows nt 6.1; wow64; rv:49.0) gecko/20100101 firefox/49.0
mozilla/5.0 (windows nt 6.1; wow64; rv:33.0) gecko/20100101 firefox/33.0
mozilla/5.0 (windows nt 6.1; wow64; rv:49.0) gecko/20100101 firefox/49.0
mozilla/5.0 (windows nt 6.1; wow64; rv:33.0) gecko/20100101 firefox/33.0
mozilla/5.0 (windows nt 6.1; wow64; rv:49.0) gecko/20100101 firefox/49.0
mozilla/5.0 (windows nt 6.1; wow64; rv:33.0) gecko/20100101 firefox/33.0
mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/53.0.2785.143 safari/537.36
mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/53.0.2785.143 safari/537.36
mozilla/5.0 (compatible; baiduspider/2.0; +http://www.baidu.com/search/spider.html)
zoombot (linkbot 1.0 http://suite.seozoom.it/bot.html)
mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/44.0.2403.155 safari/537.36 opr/31.0.1889.174
mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/44.0.2403.155 safari/537.36 opr/31.0.1889.174
sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)
mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/44.0.2403.155 safari/537.36 opr/31.0.1889.174
100% ওয়ার্কিং বট ডিটেক্টর। এটি সফলভাবে আমার ওয়েবসাইটে কাজ করছে।
function isBotDetected() {
if ( preg_match('/abacho|accona|AddThis|AdsBot|ahoy|AhrefsBot|AISearchBot|alexa|altavista|anthill|appie|applebot|arale|araneo|AraybOt|ariadne|arks|aspseek|ATN_Worldwide|Atomz|baiduspider|baidu|bbot|bingbot|bing|Bjaaland|BlackWidow|BotLink|bot|boxseabot|bspider|calif|CCBot|ChinaClaw|christcrawler|CMC\/0\.01|combine|confuzzledbot|contaxe|CoolBot|cosmos|crawler|crawlpaper|crawl|curl|cusco|cyberspyder|cydralspider|dataprovider|digger|DIIbot|DotBot|downloadexpress|DragonBot|DuckDuckBot|dwcp|EasouSpider|ebiness|ecollector|elfinbot|esculapio|ESI|esther|eStyle|Ezooms|facebookexternalhit|facebook|facebot|fastcrawler|FatBot|FDSE|FELIX IDE|fetch|fido|find|Firefly|fouineur|Freecrawl|froogle|gammaSpider|gazz|gcreep|geona|Getterrobo-Plus|get|girafabot|golem|googlebot|\-google|grabber|GrabNet|griffon|Gromit|gulliver|gulper|hambot|havIndex|hotwired|htdig|HTTrack|ia_archiver|iajabot|IDBot|Informant|InfoSeek|InfoSpiders|INGRID\/0\.1|inktomi|inspectorwww|Internet Cruiser Robot|irobot|Iron33|JBot|jcrawler|Jeeves|jobo|KDD\-Explorer|KIT\-Fireball|ko_yappo_robot|label\-grabber|larbin|legs|libwww-perl|linkedin|Linkidator|linkwalker|Lockon|logo_gif_crawler|Lycos|m2e|majesticsEO|marvin|mattie|mediafox|mediapartners|MerzScope|MindCrawler|MJ12bot|mod_pagespeed|moget|Motor|msnbot|muncher|muninn|MuscatFerret|MwdSearch|NationalDirectory|naverbot|NEC\-MeshExplorer|NetcraftSurveyAgent|NetScoop|NetSeer|newscan\-online|nil|none|Nutch|ObjectsSearch|Occam|openstat.ru\/Bot|packrat|pageboy|ParaSite|patric|pegasus|perlcrawler|phpdig|piltdownman|Pimptrain|pingdom|pinterest|pjspider|PlumtreeWebAccessor|PortalBSpider|psbot|rambler|Raven|RHCS|RixBot|roadrunner|Robbie|robi|RoboCrawl|robofox|Scooter|Scrubby|Search\-AU|searchprocess|search|SemrushBot|Senrigan|seznambot|Shagseeker|sharp\-info\-agent|sift|SimBot|Site Valet|SiteSucker|skymob|SLCrawler\/2\.0|slurp|snooper|solbot|speedy|spider_monkey|SpiderBot\/1\.0|spiderline|spider|suke|tach_bw|TechBOT|TechnoratiSnoop|templeton|teoma|titin|topiclink|twitterbot|twitter|UdmSearch|Ukonline|UnwindFetchor|URL_Spider_SQL|urlck|urlresolver|Valkyrie libwww\-perl|verticrawl|Victoria|void\-bot|Voyager|VWbot_K|wapspider|WebBandit\/1\.0|webcatcher|WebCopier|WebFindBot|WebLeacher|WebMechanic|WebMoose|webquest|webreaper|webspider|webs|WebWalker|WebZip|wget|whowhere|winona|wlm|WOLP|woriobot|WWWC|XGET|xing|yahoo|YandexBot|YandexMobileBot|yandex|yeti|Zeus/i', $_SERVER['HTTP_USER_AGENT'])
) {
return true; // 'Above given bots detected'
}
return false;
} // End :: isBotDetected()
আপনার যদি সত্যই গুগল ইঞ্জিনের বটগুলি সনাক্ত করতে হয় তবে আপনাকে কখনই "ইউজার_এজেন্ট" বা "আইপি" ঠিকানার উপর নির্ভর করা উচিত নয় কারণ "ইউজার_এজেন্ট" পরিবর্তন করা যায় এবং গুগল যা বলেছিল তার সাথে মিল রেখে: গুগলবট যাচাই করা হচ্ছে
কলকারী হিসাবে গুগলবোট যাচাই করতে:
1. হোস্ট কমান্ডটি ব্যবহার করে আপনার লগগুলি থেকে আইপি ঠিকানা অ্যাক্সেস করার জন্য একটি বিপরীত ডিএনএস লুকআপ চালান ।
2. যাচাই করুন যে ডোমেনের নামটি googlebot.com বা google.com এ রয়েছে
৩. পুনরুদ্ধারকৃত ডোমেন নেমে হোস্ট কমান্ডটি ব্যবহার করে পদক্ষেপ 1 এ পুনরুদ্ধার করা ডোমেন নামটির জন্য একটি ফরোয়ার্ড ডিএনএস লুকুন চালান । এটি নিশ্চিত করুন যে এটি আপনার লগগুলি থেকে আসল অ্যাক্সেসিং আইপি ঠিকানার মতো।
আমার পরীক্ষিত কোডটি এখানে:
<?php
$remote_add=$_SERVER['REMOTE_ADDR'];
$hostname = gethostbyaddr($remote_add);
$googlebot = 'googlebot.com';
$google = 'google.com';
if (stripos(strrev($hostname), strrev($googlebot)) === 0 or stripos(strrev($hostname),strrev($google)) === 0 )
{
//add your code
}
?>
এই কোডটিতে আমরা "হোস্টনাম" যাচাই করি যা "হোস্টনেম" এর শেষে "googlebot.com" বা "google.com" থাকা উচিত যা সাবডোমেন নয় সঠিক ডোমেনটি পরীক্ষা করা সত্যিই গুরুত্বপূর্ণ। আমি আশা করি তুমি উপভোগ করবে ;)
গুগলের জন্য আমি এই পদ্ধতিটি ব্যবহার করছি।
function is_google() {
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr( $ip );
if ( strpos( $host, '.google.com' ) !== false || strpos( $host, '.googlebot.com' ) !== false ) {
$forward_lookup = gethostbyname( $host );
if ( $forward_lookup == $ip ) {
return true;
}
return false;
} else {
return false;
}
}
var_dump( is_google() );