نحوه استفاده از ارجاع HTTP

چیزهایی که می توانید با روند ارجاع انجام دهید

اطلاعاتی که می بینید در وب سایت ها نوشته شده است، تنها بخشی از داده هایی است که سایت ها از طریق وب سرور به مرورگر شخصی منتقل می کنند و برعکس. همچنین میزان قابل توجهی از انتقال داده ها که در پشت صحنه اتفاق می افتد وجود دارد - و اگر شما می دانید که چگونه به دسترسی به این داده ها، شما ممکن است قادر به استفاده از آن در روش های جالب و مفید! در این مقاله ما به یک قطعه خاصی از اطلاعات منتقل میشویم که در این فرآیند انتقال مییابد - HTTP referer.

HTTP Referer چیست؟

ارجاع HTTP داده هایی است که از طریق مرورگرهای وب به سرور منتقل می شود تا به شما بگوید که صفحه چه خواننده قبل از ورود به این صفحه بود. این اطلاعات را می توان در وب سایت خود برای ارائه کمک های اضافی، ایجاد پیشنهادات ویژه ای برای کاربران هدفمند، هدایت مشتریان به صفحات و محتوای مرتبط و یا حتی برای جلوگیری از بازدیدکنندگان از ورود به سایت شما استفاده کرد. شما همچنین می توانید از زبان های اسکریپتی مانند JavaScript، PHP یا ASP برای خواندن و ارزیابی اطلاعات ارجاع استفاده کنید.

جمع آوری اطلاعات ارجاع با پی اچ پی، جاوا اسکریپت و ASP

پس چگونه داده های ارجاع HTTP را جمع آوری می کنید؟ در اینجا برخی از روش های شما می توانید استفاده کنید:

پی اچ پی اطلاعات رفرنس را در یک متغیر سیستمی به نام HTTP_REFERER می نویسد. برای نمایش رفرنس در صفحه PHP شما می توانید نوشت:

اگر (isset ($ _ SERVER ['HTTP_REFERER'])) {
echo $ _SERVER ['HTTP_REFERER']؛
}

این بررسی می کند که متغیر یک مقدار دارد و سپس آن را بر روی صفحه چاپ می کند. به جای echo $ _SERVER ['HTTP_REFERER']؛ شما خطوط اسکریپتی را در جای خود قرار دهید تا برای ارجاع دهنده های مختلف مورد بررسی قرار گیرند.

جاوا اسکریپت از DOM برای خواندن ارجاع استفاده می کند. درست همانند PHP، باید مطمئن شوید که ارجاع دارای ارزش است. با این حال، اگر شما می خواهید این مقدار را دستکاری کنید، ابتدا باید آن را به یک متغیر تنظیم کنید. در زیر نحوه نمایش رفرنر به صفحه شما با جاوا اسکریپت است. توجه داشته باشید که DOM با استفاده از املای جایگزین ارجاع، با اضافه کردن "R" اضافی در آن:

اگر (document.referrer) {
var myReferer = document.referrer؛
document.write (myReferer)؛
}

سپس شما می توانید رفرنس در اسکریپت ها با متغیر myReferer استفاده کنید .

ASP، مانند PHP، مرجع را در یک متغیر سیستمی تنظیم می کند. پس از آن می توانید اطلاعاتی مانند این را جمع آوری کنید:

اگر (Request.ServerVariables ("HTTP_REFERER")) {
dim myReferer = Request.ServerVariables ("HTTP_REFERER")
Response.Write (myReferer)
}

شما می توانید myReferer متغیر را برای تنظیم اسکریپت های خود در صورت نیاز استفاده کنید.

هنگامی که شما مجری هستید، چه کاری می توانید با آن انجام دهید؟

بنابراین گرفتن داده ها مرحله 1 است. چگونه شما در مورد آن به سایت خاص خود بستگی دارد. گام بعدی، البته، پیدا کردن راه هایی برای استفاده از این اطلاعات است.

هنگامی که داده رفرنس دارید، می توانید آن را برای اسکریپت سایت های خود به روش های مختلف استفاده کنید. یک چیز ساده که می توانید انجام دهید این است که فقط از کجا می توانید از یک بازدیدکننده استفاده کنید. درست است که خیلی خسته کننده است، اما اگر شما نیاز به اجرای برخی از تست ها داشته باشید، ممکن است یک نقطه ورود خوب برای کار با آن باشد.

مثال جالب تر این است که وقتی از رجیستر استفاده می کنید برای نمایش اطلاعات مختلف بسته به اینکه آنها از کجا آمده اند. به عنوان مثال، شما می توانید موارد زیر را انجام دهید:

بلوک کردن کاربران با .htaccess توسط ارجاع

از یک دیدگاه امنیتی، اگر شما از یک دامنه خاص در سایت خود از هر نوع اسپم ارجاع دهنده استفاده کنید، می تواند به راحتی آن دامنه را از سایت خود مسدود کند. اگر از Apache با استفاده از mod_rewrite استفاده می کنید، می توانید با چند خط آن ها را مسدود کنید. فایل زیر را به فایل htaccess اضافه کنید :

RewriteEngine در
# گزینه + پیرو لینک
RewriteCond٪ {HTTP_REFERER} اسپمر \ .com [NC]
RewriteRule. * - [F]

به یاد داشته باشید که کلمه spammer \ .com را به دامنه ای که می خواهید مسدود کنید تغییر دهید. به یاد داشته باشید که قبل از هر دوره در دامنه قرار دارد.

بر روی ارجاع نگذارید

به یاد داشته باشید که ممکن است رونوشت را گمراه کند، بنابراین نباید از رونوشت فقط برای امنیت استفاده کنید. شما می توانید آن را به عنوان افزودنی به امنیت دیگر خود استفاده کنید، اما اگر یک صفحه فقط توسط افراد خاص قابل دسترسی باشد، باید با htaccess یک رمز عبور در آن تنظیم کنید.