PDA

View Full Version : آموزش: آمارهای مختلف از کاربران سايت در ASP.NET



baran_mehr
سه شنبه 02 شهریور 1389, 17:24 عصر
سلا خدمت همه دوست عزیزم:قلب:
امیدوارم این مطلب بدردتون بخوره ، خودم خیلی وقت بود دنبال این مطالب میکشتم.:تشویق:
روزانه کاربران زيادی از سايت شما بازديد می کنند و برای هر مدير سايت آمار بازديدها، صفحات بازديد شده، ساعت و تاریخ بازديد، لينک و سايتی که کاربر به واسطه آن از سايت ما بازديد نموده است و . . . از اهميت ويژه‌ای برخوردار است.

برای آمارگيری از سايت‌ها از روشهای مختلفی می توان استفاده نمود:

۱- استفاده از سايتهای آمارگيری رايگان همانند: Nedstat يا Sitemitter و . . .
۲- به روش برنامه‌نویسی و بررسی از داخل برنامه

در روش اول به نوعی برای نمايش به کاربران از اعتبار بيشتری برخوردار است اما نقص آن علاوه بر تبليغ مجانی برای ديگران اين است که در بعضی از Firewallها به اسکريپتی که اطلاعات کاربر را به اين سايتها ارسال می نمايد همانند يک تروجان (اسب تراوا يا سيستم جاسوسی) نگاه می کنند و اجازه عبور به آن نمی دهند.

به همين خاطر روش دوم می تواند دقیق تر عمل نمايد. از سوی ديگر ذخيره اطلاعات کاربران در يک بانک اطلاعاتی می تواند منشأ گزارشات بسيار جالبی برای مديران سيستم شود.

در نمونه برنامه زير سعی کرده‌ام اطلاعات نسبتاً جالبی از رفتار کاربران به کمک ASP.NET را به نمايش گذارم. البته مطالب ذيل نمونه‌ای از اطلاعات کاربران سايت می باشد که می شود به سليقه و نياز خودتان آنرا تغيير دهيد (کليه متغيرهايی که نوع آنها ذکر نشده است از نوع String می باشد).

الف) نام دستگاه کاربر و IP آن



ClientName = Request.UserHostName
ClientIP = Request.UserHostAddress

ب) لينکی که کاربر با کليک بر روی آن سايت را يافته است.



REFERER = Request.ServerVariables.Item("HTTP_REFERER")

ج) اطلاعاتی در رابطه با سیستم کاربر (Client)



LANGUAGE = Request.ServerVariables.Item("HTTP_ACCEPT_LANGUAGE")
AGENT = Request.ServerVariables.Item("HTTP_USER_AGENT")
Platform = Request.Browser.Platform()

د) QUERY STRING صفحه حاضر



QUERY STRING = Request.ServerVariables.Item("QUERY_STRING")

ح) اطلاعاتی در رابطه با Browser کاربر



Browser = Request.Browser.Browser()
Browser_Type = Request.Browser.Type()
Browser_Version = Request.Browser.Version()

ز) زمان و تاريخ بازديد



Dim MyDateTime As New DateTime
MyDateTime = Now()
Dim MyDate As String = MyDateTime.ToString("MM/dd/yyyy")
Dim MyTime As String = MyDateTime.ToString("hh:mm:ss")

بديهی است در صورتی که بخواهيم به محض ورود کاربر به سايت اين مجموعه اطلاعات را جمع‌آوری نماييم، می بايست آن را در زيربرنامه Session_Start انجام دهيم (اين روتين در Global.asax قرار دارد).

با ارسال محتويات اين متغيرها به بانک اطلاعاتی می توان گزارشاتی از جمله تعداد بازديدها در مقاطع زمانی مختلف، صفحات پر بيننده، پر بيننده‌ترين صفحه امروز و. . . را استخراج نمود.

asp2.net
سه شنبه 02 شهریور 1389, 20:37 عصر
باتشكر از شما اگر يك مثالي بياوريد ممنون ميشم

baran_mehr
سه شنبه 02 شهریور 1389, 22:17 عصر
اینم مثال:
نحوه کاربردش بر میگرده به نوع استفاده شما از این دستورات