Referrer URL چیست؟
Referrer URL (یا URL ارجاع دهنده) به URL صفحهای اشاره دارد که کاربر قبل از رسیدن به صفحه فعلی از آن بازدید کرده است. این اطلاعات به وبسایت یا سرویسها کمک میکند تا بفهمند کاربر از کدام صفحه به وبسایت کنونی رسیده است. در زمینه درگاههای پرداخت، Referrer URL معمولاً به این منظور استفاده میشود که مشخص شود کاربر از کدام وبسایت به درگاه پرداخت منتقل شده است.
چرا Referrer URL اهمیت دارد؟
در زمینه درگاههای پرداخت، Referrer URL اهمیت زیادی دارد چرا که:
- الزامات: با توجه به الزامات شبکه بانکی، پذیرنده تنها مجاز به اتصال از دامنه ثبت شده برای ترمینال و دارای نماد اعتماد می باشد.
- امنیت: یکی از راههای تأیید اینکه درخواست پرداخت از وبسایت مجاز است.
- ردیابی مسیر کاربر: برای تحلیل و بهبود تجربه کاربری و کارآیی کمپینهای بازاریابی.
- جلوگیری از حملات Cross-Site Request Forgery (CSRF): این URL میتواند به عنوان یکی از شاخصهای اعتبارسنجی در درخواستهای پرداختی باشد.
Referrer Policy چیست؟
Referrer Policy سیاستی است که مشخص میکند چه اطلاعاتی از Referrer URL به سرور مقصد ارسال شود. این سیاستها به تنظیم چگونگی ارسال Referrer URL در درخواستهای HTTP کمک میکند و میتواند برای کنترل حریم خصوصی کاربران و جلوگیری از افشای اطلاعات حساس استفاده شود.
مقادیر تعیین شده برای Referrer Policy:
Referrer Policy | توضیحات |
---|---|
no-referrer | هیچگونه اطلاعات Referrer URL ارسال نمیشود. |
no-referrer-when-downgrade | اطلاعات Referrer URL فقط به مقصدهای امن ارسال میشود (مثلاً از HTTPS به HTTPS). |
same-origin | Referrer URL فقط در صورتی ارسال میشود که درخواست به همان دامنه باشد. |
origin | فقط نام دامنه منبع به جای کل URL ارسال میشود. |
strict-origin | فقط نام دامنه منبع به مقصدهای امن ارسال میشود. |
strict-origin-when-cross-origin | سیاست پیشفرض. اطلاعات Referrer URL به مقصدهای امن ارسال میشود و در مقصدهای ناامن حذف میشود. |
unsafe-url | کل URL، شامل مسیر و کوئری استرینگ، ارسال میشود. |
در ادامه برخی از کانفیگ های مهم برای سیاست های ارجاع مسیر با ذکر مثال توضیح داده شده است.
1. no-referrer
در این حالت هیچ اطلاعات Referrer به سایت مقصد ارسال نمیشود.
از مسیر | رفتن به مسیر | پارامتر ارسالی |
---|---|---|
https://example.ir/page | https://example.ir/otherpage | عدم ارسال |
https://example.ir/page | https://parspal.com/page | عدم ارسال |
http://example.ir/page | https://example.ir/otherpage | عدم ارسال |
http://example.ir/page | http://parspal.com/page | عدم ارسال |
2. no-referrer-when-downgrade
اطلاعات Referrer ارسال نمیشود مگر زمانی که پروتکل مقصد امن (HTTPS) باشد.
از مسیر | رفتن به مسیر | پارامتر ارسالی |
---|---|---|
https://example.ir/page | https://example.ir/otherpage | https://example.ir/page |
https://example.ir/page | https://parspal.com/page | https://example.ir/page |
https://example.ir/page | http://parspal.com/page | عدم ارسال (به دلیل downgrade) |
http://example.ir/page | https://example.ir/otherpage | http://example.ir/page |
3. same-origin
اطلاعات Referrer تنها زمانی ارسال میشود که درخواست به همان دامنه (origin) ارسال شود.
از مسیر | رفتن به مسیر | پارامتر ارسالی |
---|---|---|
https://example.ir/page | https://example.ir/otherpage | https://example.ir/page |
https://example.ir/page | https://parspal.com/page | عدم ارسال |
https://example.ir/page | https://example.ir/external | عدم ارسال |
https://example.ir/page | https://example.ir/internal | https://example.ir/page |
4. origin
فقط دامنه اصلی (origin) به اشتراک گذاشته میشود و URL کامل فرستاده نمیشود.
از مسیر | رفتن به مسیر | پارامتر ارسالی |
---|---|---|
https://example.ir/page | https://example.ir/otherpage | https://example.ir |
https://example.ir/page | https://parspal.com/page | https://example.ir |
http://example.ir/page | https://example.ir/otherpage | http://example.ir |
http://example.ir/page | http://parspal.com/page | http://example.ir |
به منظور ارسال اطلاعات به درگاه پرداخت، می بایست وب سایت شما دارای سیاست ارسال باشد، در مثال های بالا رویکرد های مرورگر به مسیر ها توضیح داده شده است، به همین منظور برای استفاده از درگاه سایت شما باید دارای Policy باشد که مسیر دامنه را ارسال نماید، در زیر برخی از این مقادیر ذکر شده است.
- origin
- strict-origin
تنظیمات در PHP و .NET
مثال PHP
در PHP میتوانید از header()
برای تنظیم هدر Referrer-Policy استفاده کنید:
header("Referrer-Policy: strict-origin-when-cross-origin");
مثال .NET
در برنامههای ASP.NET Core، میتوانید این هدر را در بخش تنظیمات HTTP اضافه کنید:
app.Use(async (context, next) => {
context.Response.Headers.Add("Referrer-Policy", "strict-origin-when-cross-origin");
await next();
});
مثال در HTML
شما همچنین میتوانید Referrer-Policy را به صورت مستقیم در یک صفحه HTML از طریق متا تگ تنظیم کنید:
<meta http-equiv="Referrer-Policy" content="strict-origin-when-cross-origin">
تنظیمات در وردپرس
برای تنظیم Referrer-Policy در وردپرس، میتوانید از پلاگینهایی که برای تنظیمات امنیتی استفاده میشوند بهره بگیرید یا دستی این هدر را در فایل .htaccess
به صورت زیر اضافه کنید:
<IfModule mod_headers.c>
Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
برای آشنایی بیشتر می توانید به مقالات مرتبط با مرورگر فایرفاکس و کروم مراجعه نمایید.
پاسخها (0 )