PDA

View Full Version : آشنایی با یک نکته : Referrals



Vahid_Nasiri
پنج شنبه 02 مهر 1383, 13:11 عصر
یک سری به این مقاله بزنید:
http://sniptools.com/vault/how-to-test-your-antivirus-tool.htm

در اینجا روش تست کردن این موضوع که "آیا آنتی ویروس شما درست کار می کند یا خیر؟" با یک مثال بی خطر توضیح داده شده.
به پایین صفحه ی آنهم دقت کنید. لیستی از لینک ها را تحت عنوان Referrals ارائه داده است.
اینها لینک هایی هستند که مرور صفحه ی فوق از آنها شروع شده است (مراجعین به سایت ، از کجا و کدام سایت به سایت ما راهنمایی شده اند؟ چه سایتی به ما لینک داده؟).

تعریف دقیق ارجاع دهنده ها مطابق RFC 2616 :
ftp://ftp.isi.edu/in-notes/rfc2616.txt


The Referer[sic] request-header field allows the client to specify, for the server's benefit, the address (URI) of the resource from which the Request-URI was obtained (the "referrer", although the header field is misspelled.) The Referer request-header allows a server to generate lists of back-links to resources for interest, logging, optimized caching, etc.

سوال: چگونه این ارجاع دهنده ها به صفحات خود را لاگ (جمع آوری و ذخیره) کنیم؟
در asp و ASP.NET با استفاده از Request.UrlReferrer می توان به این موضوع پی برد و یا با استفاده از :


Request.ServerVariables("HTTP_REFERER")

بهتر است یا آنرا در رخداد Application_OnPostRequestHandlerExecute در قسمت global.asax برنامه تعریف کنید (این رخداد بعد از پاسخ دادن به هر درخواستی که به برنامه می رسد، اجرا می گردد) و یا در page_load هر صفحه آنرا بررسی نمایید.


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

$HTTP_REFERER


البته استفاده از پروکسی های خاص و یا ابزارهای پاک کننده هدرهای HTTP ، این مورد را مخفی و یا تغییر خواهند داد.


برای مطالعه بیشتر و همچنین دیدن چند نمونه سورس عملی در این باره:
http://idunno.org/dotNet/loggingReferrals.aspx#source
http://www.devarticles.com/c/a/ASP/Recording-Referrals-in-ASP/

kochol
چهارشنبه 09 خرداد 1386, 13:21 عصر
سلام
من داشتم از این کد استفاده می کردم و کار می کرد ولی بعد از چند روز دیگه referer رو نمی ده البته من دارم تو localhost تست می کنم و فقط لینک فایل های تو localhost رو می ده.

ممکنه که IIS هم خراب شده باشه.

kochol
چهارشنبه 09 خرداد 1386, 19:02 عصر
سلام
توی سایتی که لینک من قرار داره.
حتی وقتی که لینک من به صورت Hyper link معمولی هست باز هم از اون سایت نمی تونه referer بگیره البته اون صفحه ای که لینک من درون اون هست ssl دارد.
به نظرتون مشکل از چیه یا اصلا می شه از سایت هایی که ssl دارند referer گرفت.

Behrouz_Rad
چهارشنبه 09 خرداد 1386, 19:46 عصر
این استاندارد W3C هست!
http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html




Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol.

kochol
پنج شنبه 10 خرداد 1386, 11:18 صبح
ایول یعنی اگه سایت خودمون هم SSL داشته باشه می تونیم رفرر ها رو بگیریم.