رفتن به مطلب

آمار بازدید


پست های پیشنهاد شده

سلام

من برای آمار بازدید یه کدی نوشتم که برای هر آی پی یک ردیف در جدول دیتابیس میسازه (یعنی اگه آی پی تکراری باشه نمیسازه)

حالا اگه کسی به صفحه ی (مثلا درباره) بره و آی پیش هم ثبت شده باشه باز هم یه ردیف توی دیتابیس اضافه میشه.

فقط در صورتی ردیف اضافه نمیشه که کسی که آی پیش ثبت شده از یه صفحه که قبلا بازدید کرده دوباره بازدید کنه که در این صورت فقط در ردیف مشخصی به یه عدد اضافه میشه

میخوام بدونم با این کار به سرور فشار نمیاد و دیتابیس سنگین نمیشه؟

لطفا راهنمایی کنید

با تشکر

در ضمن این آی پی ها شامل ربات های موتورهای جستجو هم می شود. چطور میشه یه کاری کرد که آی پی های موتورهای جستجو ثبت نشه؟

ویرایش شده توسط reza_t
لینک به ارسال

سلام، اگر شما از فیلد IP برای بررسی و چک کردن برای این مورد استفاده کنید، نباید مشکلی باشه.

میخوام بدونم با این کار به سرور فشار نمیاد و دیتابیس سنگین نمیشه؟

نه زیاد.

میخوام بدونم با این کار به سرور فشار نمیاد و دیتابیس سنگین نمیشه؟

موتور جستجو آی پی نداره، ارجاع دارد، باید بررسی کنید که اگر referre از موتورجستجو بود، نادیده بگیر.

لینک به ارسال

موتور جستجو آی پی نداره، ارجاع دارد، باید بررسی کنید که اگر referre از موتورجستجو بود، نادیده بگیر.

ممنون بابت پاسخ

چطوری باید اینکار رو انجام بدم؟

در ضمن یکی از آی پی هایی که ثبت شده 66.249.64.146 هست که مال گوگله

آی پی های دیگه ای هم هست

لینک به ارسال
چطوری باید اینکار رو انجام بدم؟

از این متغیر استفاده کنید:

<?php $_SERVER['HTTP_REFERER']; ?>

در ضمن یکی از آی پی هایی که ثبت شده 66.249.64.146 هست که مال گوگله

شاید واسه اسپایدرهاش باشه.

لینک به ارسال

شاید واسه اسپایدرهاش باشه.

من دقیقا میخوام که آی پی اسپایدها ثبت نشه

لطفا راجب


$_SERVER['HTTP_REFERER'];

بیشتر توضیح بدین

ممنون

لینک به ارسال
من دقیقا میخوام که آی پی اسپایدها ثبت نشه

شما باید چک کنید اگر اسپایدر بود اون رو نادیده بگیره. مثل همون چیزی که ما در افزونه Wordpress Statistis انجام دادیم.

خط 122 اینجا را ببینید.

این تابع اسپایدر بودن یا نبودن را چک میکنه.

لطفا راجب

$_SERVER['HTTP_REFERER'];

بیشتر توضیح بدین

یک مثال:

<?php
if( parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) == 'http://google.com' ) {
// مراجعه از گوگل
}
?>

برای اینکه دقیق تر بررسی کنه، یه Regex واسش بنویسید.

لینک به ارسال

2 کار میتونی انجام بدی یکی از رو ip


function validateGoogleBotIP($ip) {
$hostname = gethostbyaddr($ip); //"crawl-66-249-66-1.googlebot.com"
return preg_match('/\.googlebot\.com$/i', $hostname);
}
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Google') !== false) {
if (validateGoogleBotIP($_SERVER['REMOTE_ADDR'])) {
echo 'It is ACTUALLY google';
} else {
echo 'Someone\'s faking it!';
}
} else {
echo 'Nothing to do with Google';
}

یکی از رو user_agent

لیست agent ها

http://www.user-agents.org/index.shtml

http://fr.wikipedia.org/wiki/User-Agent#Robots


function crawlerDetect($USER_AGENT)
{
$crawlers = array(
array('Google', 'Google'),
array('msnbot', 'MSN'),
array('Rambler', 'Rambler'),
array('Yahoo', 'Yahoo'),
array('AbachoBOT', 'AbachoBOT'),
array('accoona', 'Accoona'),
array('AcoiRobot', 'AcoiRobot'),
array('ASPSeek', 'ASPSeek'),
array('CrocCrawler', 'CrocCrawler'),
array('Dumbot', 'Dumbot'),
array('FAST-WebCrawler', 'FAST-WebCrawler'),
array('GeonaBot', 'GeonaBot'),
array('Gigabot', 'Gigabot'),
array('Lycos', 'Lycos spider'),
array('MSRBOT', 'MSRBOT'),
array('Scooter', 'Altavista robot'),
array('AltaVista', 'Altavista robot'),
array('IDBot', 'ID-Search Bot'),
array('eStyle', 'eStyle Bot'),
array('Scrubby', 'Scrubby robot')
);
foreach ($crawlers as $c)
{
if (stristr($USER_AGENT, $c[0]))
{
return($c[1]);
}
}
return false;
}
// example
$crawler = crawlerDetect($_SERVER['HTTP_USER_AGENT']);

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...