ردیابی محل کلیک شدن لینک ها با php

خیلی وقتا هست که میخوایم بدونیم کاربران یا بازدید کننده ها از کدوم سایت به سایت ما میان؟ یا اینکه قبل از سایت ما چه سایتی رو دیدن؟ شما میتونید با بررسی اینکه کاربران قبل از سایت شما کدوم سایت رو دیدن نیاز های مشتریان خودتون رو تحلیل کنید! یا اینکه خیلی از دوستان سایت هایی دارند که فایلی رو توی سایت خودشون برای دانلود میزارن و بعد از یه مدت متوجه میشن که خیلی از سایت های دیگه فایل شما رو برای دانلود گذاشتن و پهنای باند شما سریع تموم میشه! شما میتونید بررسی کنید که از کدوم سایت روی لینک دانلود فایل کلیک شده و اگه ادرس اون سایت با سایت شما یکسان نبود اجازه دانلود ندید 😀 به همین راحتی! خب حالا چجوری میشه این کارا رو انجام داد؟ بریم سراغ اموزش:

برای اینکه بررسی کنیم کاربر از کدوم سایت به سایت ما اومده میتونیم از PHP کمک بگیریم , در برنامه نویسی PHP ما یک متغیر سراسری با نام SERVER داریم , این متغیر سراسری به صورت آرایه است و یکی از کلید های این آرایه HTTP_REFERER نام داره که ادرس سایت مبدا (سایتی که کاربران از اونجا روی لینک سایت شما کلیک میکنند) رو درون خودش داره! طریقه ی استفاده از متغیر سراسری و کلید HTTP_REFERER به صورت زیر است:

در مثال بالا ما مقداری که درون متغیر HTTP_REFERER هست رو توی صفحه نمایش دادیم. دقت کنید که اگه امکان داره هیچ مقداری درون HTTP_REFERER وجود نداشته باشه و خالی باشه! دو حالت وجود داره:

  1. کاربر مرورگر خودشو باز کرده و یکراست به صفحه شما اومده
  2. سرور شما مقدار HTTP_REFERER رو دریافت نکرده!
  3. شما روی لوکال هاست تست کردید و لوکال هاست ممکنه مقدار HTTP_REFERER رو دریافت نکنه 😀

باید برای حالتی که HTTP_REFERER خالی هست یک دستور if بنویسید تا بتونید متوجه بشید خالیه. , بعد از اینکه مقدار HTTP_REFERER رو دریافت کردید میتونید با استفاده از توابع parse_url یا pathinfo مشخصات ادرس سایتی که دریافت کردید رو تجزیه کنید و استفاده کنید به مثال زیر دقت کنید:

در مثال بالا ابتدا مقدار HTTP_REFERER رو گرفتم و توی یه متغیر قرار دادم و در مرحله ی بعد مقدار درون اون متغیر رو با استفاده از تابع parse_url تجیزه کردم و توی صفحه نمایش دادم. مقداری که پس از تجزیه url به شما داده میشه به صورت ارایه است. در این ارایه کلید host نام یا ادرس سایت مبدا رو نشون میده.

امیدوارم که این اموزش بدرد دوستان بخوره و بتونن چیزای جالبی باهاش بسازن. شما میتونید با استفاده از این آموزش کاری کنید که کسی نتونه لینک فایل های شما رو توی سایت خودش بزاره! میتونید با PHP بررسی کنید اگه درخواست دانلود فایل از یه سایتی غیر از سایت شما داده شده بود اجازه ی دانلود فایل رو به کاربر ندید تا حسابی ضایع بشه 😀

دوستان عزیز مقدار referer توسط مرورگر برای سرور ارسال میشه و کاربران حرفه ای که توی حوزه ی برنامه نویسی وب هستند این قابلیت رو دارند که این مقادیر رو دستکاری کنند!

دوستانی که سوال دارند میتونن از بخش نظرات پایین همین پست مطرح کنند. موفق باشید.

به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK
  1. حسین

    سلام خسته نباشید به مدیر طرح چه،من یک سوال دارم شاید به این مطلب ربط نداشته باشد اما برای من خیلی مهم است اومدم در سوالچه ثبت نام کنم که ایمیل تایید برایم نیام دوباره با یه دیگه ثبت نام کردم بازهم نیامد در نتیجه مجبور شدم اینجا بنویسم امیدوارم مثل همیشه سخاوتمندی خرج دهید و سوال من را جواب دهید
    من دنبال اسکریپت وبلاگدهی بودم و در سایت بیست اسکریپت پیداکردم اما من همیشه این اسکریپت ها را در ومپم تو کامپیوتر چک میکنم ببینم چجوری ولی وقتی این اسکریپت را باز کردم دیدم ارور internal server داد که فهمیدم مربوط به .htaccess من چون بلد نبودم حذفش کردم و وقتی اسکریپت را باز کردم صفحه لود نشد و یه قسمت وبلاگ های بروزشده اونم عنوانش امد چندتا اسکریپت دیگه از این سایت و سایت های دیگه(حتی خارجی) دانلود کردم که پس از حذف .htaccess این اتفاق میفته ومپم هم چک کردم همه اسکریپت های بدون .htaccess را درست نشون میده خواهشا به این سوال من پاسخ دهید که این مشکل را چجوری حل کنم اگر برای حل مشکل به اسکریپت نیاز داشتید بگید بفرستم یا از همون سایت بیست اسکریپت دانلود کنید چهار یا پنج اسکریپت داره که من همه را امتحان کردم (اسکریپت های یاسی بلاگ easy blog …)

    • سلام دوست عزیز. شرمنده با تاخیر زمانی (یک روز) به سوال شما پاسخ داده میشه! دوست عزیز شما میتونید لینک دانلود اسکریپت یا فایل اون رو برای ما ایمیل کنید تا بررسی کنیم! ممکنه اشکال از htaccess یا کهنه بودن دستورات باشه! بیشتر اسکریپت هایی که برای دانلود گذاشته میشن متاسفانه دست به دست میشن و این مشکل پیش میاد براشون. میتونید از طریق ایمیل زیر با مدیریت در تماس باشید :
      khanzadimahdi@gmail.com
      موفق باشید.

          • حسین

            سلام الان چند روز میگذرد ولی هنوز پاسخی نیامده برای من خواهش می کنم مشکل من را حل کنید

          • سلام دوست گرامی. مشکل شما رو توی این چند روز بررسی کردم. اسکریپت به علت کهنه بودن دستورات بیش از ۱۰۰۰ تا خطا داشت که رفع کردمشون.
            دستورات mysql رو با mysqli جایگزین کردم. این اسکریپت رو باید روی xamp در لوکال هاست امتحان کنید. اگه روی Wamp ازمایش کنید به شما خطا میده چون دستورات htaccess روی wamp فرق داره(nginx هست). خودم اسکریپت رو تست کردم مشکلی نداشت.
            اسکریپت خیلی از جاها چون قبل از اینکه متغیر ها رو مقدار دهی کنه شروع به استفاده کرده undefined ممکنه بده! اگه میخواید از اسکریپت به صورت تجاری استفاده کنید شما میتونید در فایل header.php و yohoo.php با قرار دادن دستورات ini_set خطا ها رو ببندید تا احیانا یوزر ها نبینن.
            دقت کنید چون این اسکریپت رو بنده فقط برای شما ویرایش کردم و همه ی اون رو خودم ننوشتم پس تضمینش نمیکنم.
            میتونید اسکریپت نهایی که بنده براتون ویرایش کردم رو از اینجا(کلیک کنید) دانلود کنید. موفق باشید.
            (در فایل header.php خط دوم رو حذف کنید و در خط اول به جای on کلمه ی off رو قرار بدید تا امنیت بالاتر بره و خطاها بسته بشه.)

  2. مهران

    میشه یه مثال بزنین چطور جلوی دانلود فایل های خودمونو بگیریم؟

  3. حسین

    سلام اقای طرح چه من دیروز یک کامنت گذاشتم مشکلی را مطرح کردم ولی الان پاک شده

    • دوست عزیز ما کامنت هیچکسی رو پاک نمیکنیم! سعی میکنیم به همه پاسخ درست بدیم تا دوستان نهایت استفاده رو ببرند. موفق باشید 😀

  4. سلام می خواستم ببینم ایا ادیتوری هست که بتوان مثل شما کد ها را در پست قرار بده این هم بگم که من می خواهم برای پنل شخصی خودم استفاده کنم نه وردپرس یا جوملا اگه هست راهنمایی بفرمایید

  5. حسین

    خیلی ممنون اقا مهدی واقعا دستتون درد نکه من اگه این مشکل را به هرکسی میدادم بعد از اینکه میفهمید ۱۰۰۰ ارور داره صد در صد میزد زیرش واقعا دستتوت درد نکنه
    یه سوال دوره یا فیلم اموزشی یا مقاله ای هست که بتوان اموزش ازبین بردن خطا ها را یاد بده چون من تا سایت را بازکردم ارور ها را نشون نداد و فقط صفحه خالی امد اگه یه چنین مقاله ای هم بذارید واقعا ممنون بازم دستتون درد نکنه

    • الان بعد از اینکه ارور ها رو رفع کردم نشون نداد؟ 😐 باید نشون بده! مقاله یا چیزی نیست! برحسب تجربه میشه فهمید

  6. طلوعی

    میشه لطفا کدی برای تشخیص محل کلیک های ی کاربر ارائه بدید ک بدونم اول ک وارد سایت میشه کجا کلیک میکنه بعد کجای صفحق لطفا

    • سلام دوست گرامی. چشم همچین اسکریپتی برای شما طراحی خواهیم کرد و به صورت یک پست راجبش توضیح خواهیم داد. موفق باشید.

می‌خواهید دیدگاهتان را بیان کنید؟