مطالب تصادفی
ذخيره و بازيابی اطلاعات کاربران در برنامه های وب

ذخيره و بازيابی اطلاعات کاربران در برنامه های وب

ذخيره و بازيابی اطلاعات کاربران در برنامه های وب


مهمترين رسالت برنامه های کامپيوتری ارتباط با کاربران و پاسخگوئی به نياز آنان با توجه به پتانسيل های پيش بينی شده در برنامه می باشد. شناسائی کاربران توسط برنامه های کامپيوتری می تواند زمينه ارائه سرويس ها و خدمات بهينه تری را فراهم نمايد( ارائه سرويس ها و خدمات مشخص شده به گروهی خاص از کاربران ). برنامه های وب نيز از اين قاعده مستثنی نبوده و با توجه به ماهيتStatelessبودن پروتکل ارتباطیبين سرويس گيرنده و سرويس دهنده ( ارسال درخواست ، پاسخ به درخواست ، عدم بخاطر سپردناطلاعاتی در ارتباط با در خواست ارسالی و پاسخ دريافتی ) ، می بايست تمهيدات خاصی بمنظور شناسائیکاربران اتخاذ گردد. برخی از برنامه های وب ، کاربران را ملزم می نمايند که در ابتدا يک فرم را تکميل و اصطلاحا" ريجستر گردند .

  

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

شناسائیکاربران برنامه هاب وب

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

از مهمترين مزايای کوکی ، می توان به تعامل نامحسوس باکاربر اشاره نمود. در چنين مواردی ، کاربرانهر مرتبه که سايت را ملاقات می نمايند ، الزامی بهLog on، نخواهند داشت . ( اطلاعات آنان ، بصورت اتوماتيک و در صورت ضرورت در دسترس و قابل استفاده است) . مهمترين نقطه ضعف در جهتاستفاده ازکوکی ، به تنظيم مرورگرها توسط کاربران بمنظور عدم پذيرش کوکی، برمی گردد .برخی از کاربران تمايل و علاقه ای بهذخيره سازی اطلاعات از طريق يک سايت بر روی کامپيوتر خود را نداشته و تصور می نمايندکه ممکن است از اطلاعات فوق ، بمنظور رديابی آنان در زمان استفاده از اينترنت ، سوء استفادهگردد. بنابراين در موارديکه قصد استفاده از کوکی وجود داشته باشد ، می بايست در ابتدا توانائی سرويس گيرنده برای پذيرش کوکی بررسی گردد .

در زمان استفاده از کوکی بمنظور ذخيره و بازيابی اطلاعات کاربران ، می تواناز دو رويکرد متفاوت استفاده نمود :

·ذخيره تمامی اطلاعات کاربران بعنوان يک کوکی بر روی ماشين سرويس گيرنده. استفاده از روش فوق ، درموارديکه اطلاعات کاربر ساده بوده و سرويس دهنده ضرورتی به استفاده از آنان بمنظور تکميل عمليات خود نداشته باشد ، می تواند مفيد باشد .

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

در ادامه به بررسی هر يک از رويکردهای فوق ، خواهيم پرداخت.

ذخيره سازی اطلاعات کاربران بر روی سرويس گيرنده
برای ذخيرهيک کوکیبر روی ماشين سرويس گيرنده ، مراحل زير را دنبال می نمائيم :

  • بررسی و حصول اطمينان از توانائیسرويس گيرنده بمنظور پذيرش کوکی ( استفاده از خصلتCookiesمربوط به شی مرورگر) .
  • در صورت حمايتسرويس گيرنده از کوکی ، بررسی وجود کوکی بر روی ماشين سرويس گيرنده ( استفاده از مجموعهCookiesمربوط به شیRequest)
  • در صورت عدم وجود کوکی ، ايجاد يک کوکی جديد با استفاده از کلاسHttpCookie.
  • مقداردهی مناسبخصلت هایExpirationوValue.
  • افزدون شیCookieبه مجموعهCookiesمربوط یه شیResponse.

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

 

VB.NET

Private Sub Page_Load ( ByVal Sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
If Request.Browser.Cookies Then
If Request.Cookie ("LastVisit") Is Nothing Then
Dim CookLastVisit As New HttpCookie( " LastVisit" , Now.ToString ( ) )
CookLastVisit.Expires = DateTime.Now.AddDays( 1 )
Response.Cookie.Add (CookLastVisit )
Response.Write( " First Visit " )
Else
Dim CookLastVisit As HttpCookie = Request.Cookies ("LastVisit")
Reuest.Cookies( "LastVisit " )
Response.write ( "You last visited this page : " ,CookLastVisit.value )
Response.Cookies ( "LastVisit ").Value = Now.ToString ( )
Response.Cookies ( "LastVisit").Expires = DateTime.Now.AddDays(1)
End If
Else
Response.Write ( "Your Browser does not accept cookies . " )
End If
End Sub

کوکی ها نسبت به حروف بزرگ و کوچک حساس می باشند . مثلا"LastVisitمشابه کوکیLastvisitنمی باشد .خصلتExpires، نشاندهنده تاريخ مصرف کوکی می باشد. عمر يک کوکی بصورت پيش فرض ، محدود به زمانی است کهSessionکاربر خاتمه می يابد. درصورت تنظيمExpiresبصورتDateTime.MaxValue، اعتبار کوکی ايجاد شده، هرگزبه اتمام نخواهد رسيد .بمنظور حذف کوکی از ماشين سرويس گيرنده ، می توان مقدار خصلتExpiresرا به زمان جاری تغيير داد .کد زير ، کوکیLastVisitرا حذف می نمايد.

VB.NET

Private Sub Page_Load ( ByVal Sender As System.Object , ByVal e As System.EventArgs ) Handles butRemoveCookie.Click
Response.Cookies( "LastVisit").Expires = DateTime.Now
End Sub

 

 

استفاده از کليد بهمراه کوکی

يک کوکی ، قادربه ذخيره سازی 4096 بايت اطلاعات بوده و می توان بمنظور شناسائی اطلاعات همراه کوکی از کليد ها، استفاده نمود. برنامه زير ، مشخصاتکاربر را در يک کوکی با استفاده ازکليدهای جداگانه ای ذخيره می نمايد .

VB.NET

Private Sub Page_Load ( ByVal Sender As System.Object , ByVal e As System.EventArgs ) Handles butOK.Click
Dim CookUserInfo As New HttpCookie ("UserInfo")
CookUserInfo("FirstName") = txtFirstName.Text
CookUserInfo("LastName") = txtLastName.Text
CookUserInfo("Street") = txtStreet.Text
CookUserInfo("City") = txtCity.Text
CookUserInfo("state") = drpstate.Selected.Item.value
CookUserInfo("Zip") = txtZip.Text
CookUserInfo.Expires = DateTime.Now.AddDays ( 30 )
Response.Cookies.Add( CookUserInfo )
End Sub

با استفاده از نام کليد ، می توان اقدام به بازيابی مقادير نسبت داده شده به هر يک از کليدهای ذخيرهشده در کوکی نمود .

VB.NET

Private Sub Page_Load ( ByVal Sender As System.Object , ByVal e As System.EventArgs ) Handles butGetData.Click
Dim CookUserInfo As New HttpCookie ("UserInfo")
txtFirstName.Text = CookUserInfo("FirstName")
txtLastName.Text = CookUserInfo("LastName")
txtStreet.Text = CookUserInfo("Street")
txtCity.Text = CookUserInfo("City")
drpstate.Selected.Item.value = CookUserInfo("state")
txtZip.Text = CookUserInfo("Zip") = txtZip.Text
End Sub

ذخيره سازی اطلاعات کاربران بر روی سرويس دهنده

برای ذخيره اطلاعات کاربران بر روی سرويس دهنده ، می توان از کوکی بعنوان يک ابزار شناسائی ( ايندکس ) بمنظور ذخيره و بازيابی اطلاعات کاربران بر روی سرويس دهندهدر يک بانک اطلاعاتی ، يک فايلXMLو ساير امکانات ذخيره سازی داده ، استفاده نمود. برای ذخيره اطلاعات کاربران بر روی سرويس دهنده ، مراحل زير را دنبال می نمائيم :

  • ايجاد يک کليد منحصر بفرد بمنظور شناسائی کاربر
  • ذخيره کليد منحصر بفرد بعنوان يک کوکی بر روی ماشين کاربر
  • ايجاد يک فايل بر روی سرويس دهنده بمنظور ذخيره سازی اطلاعات کاربران
  • ذخيره اطلاعات کاربران بر روی سرويس دهنده با استفاده از کليد منحصربفرد بعنوان يک ايندکس

در ادامه به بررسی هر يک از مراحل فوق ، خواهيم پرداخت .


ايجاد کليدهای منحصر بفرد بمنظور شناسائی کاربران

فريمورک دات نت ،Namespaceبا نامSystem.Guidرا بمنظور ايجاد شناسه های منحصربفرد سراسری (GUID) ارائه نموده است .GUID، يک عدد صحيح 128 بيتی بوده که بعنوانشناسه ایمنحصربفرد در شبکه ايفای وظيفه می نمايد . ازGUIDمی توان بمنظور شناسائیتمامی چيزها از جملهکاربران استفاده نمود . کد زير ، يکGUIDرا ايجاد و آن را بعنوان يک کوکی بر روی کامپيوتر کاربر و بمنظور شناسائی وی در آينده ، ذخيره می نمايد .

VB.NET

Private Sub Page_Load ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butOK.Click
Dim cookUserID As HttpCookie = Request.Cookies ( "UserID")
If cookUserID Is Nothing Then
cookUserID = New HttpCookie ("UserID") , System.Guid.NewGuid ( ). ToString ( ) )
cookUserID.Name = "UserID"
End If
cookUserID.Expires = DateTime.Now.AddDays( 30 )
Response.Cookies.Add (cookUserID )
SetUserInfo (cookUserID.Value )
End Sub

 

 

ايجاد يک فايل بمنظور ذخيره اطلاعات کاربران

مهمترين هدف ذخيره سازی اطلاعات کاربران، بازيابی آنان با سرعت مناسب و پس از ملاقات مجدد کاربران از سايت و يا اجرای برنامه وب است . با توجه به اينکه اين نوع از کاربران با استفاده از يک کليدمنحصربفرد،شناسائی می گردند ، می توان چنين تصور نمود که دستيابی به داده از طريق يکData setانجام خواهد شد.Dataset، با استفاده از متدFind، قادر به بازيابی سطرهائی از دادهبکمک کليدها ی منحصربفرد می باشد .استفاده از يکData set، بدان معنی است که فايل ايجاد شده بر روی سرويس دهنده ، می بايست يک بانک اطلاعاتی و يا يک فايلXMLباشد . استفاده از فايل هایXMLدر موارديکه داده های مورد نظر برای ذخيره سازی اندک بوده و روابط بين اقلام اطلاعاتی نيز پيچيده نباشد ، توصيه می گردد .

برای ايجاد يک فايلXML، بمنظور ذخيره سازی اطلاعات کاربران ، مراحل زير را دنبال می نمائيم :

  • ايجاد يک فايلXMLدر ويژوال استوديو دات نت شامل داده تستی برای هر يک از فيلدهای داده که قصد ثبت آنان در ارتباط با کاربر وجود دارد .
  • ايجاد يکXML schemaبرای فايلXMLايجاد شده در مرحله قبل. با استفاده ازXML schema، يکData Setقادر به مراجعه داده موجود در فايلXMLبر اساس نام می باشد .
  • مشخص نمودن فيلد کليد درXMLschema. بدين ترتيب،امکان يافتن رکوردهای استفاده کننده از فيلد فوق با استفاده از متدFind،فراهم می گردد .
  • خواندنXML schemaو فايلXMLدرون يکData set.

ايجاد يک فايلXML

برای ايجاد يک فايلXMLدر ويژوال استوديو ، گزينهAdd NewItemرا از طريق منویProjectانتخاب و در ادامهXML Fileرا از طريقليست تمپليت هاینمايش داده شده ، انتخاب می نمائيم .فايل هایXML، شباهت زيادی به فايل هایHTMLداشته و در اين راستا تفاوت های مهمی نظير حساسيت نسبت به حروف بزرگ و کوچک و پيروی از يک گرامر خاص ، نيز وجود دارد. از تگ های <element> و <element/ >بمنظور معرفی عناصر داده در يک فايلXMLاستفاده می گردد . کد زير، نحوه ايجاد يک فايلXMLبمنظور ذخيره سازی مشخصاتکاربر را نشان می دهد .

VB.NET




Ali
Irani
Sabz
Tehran
Tehran
3240
12345678

 

ايجاد يکXML Schema

بمنظور استفاده از فايلXMLبهمراه يکData Set، می بايست در ابتدا يکXML SchemaبرایDatasetايجاد گردد.XML Schema، مسئوليت تشريح عناصر داده ئیموجود در يک فايلXMLرا بر عهده دارد.XML Schema،نام عناصر ، نوع آنان ،کليد بودن فيلد و ساير اطلاعات ضروری را ارائه می نمايد . برای ايجادXML Schemaاز يک فايلXML، زمانيکه فايلXMLدر پنجره طراحی ويژوال استوديو دات نت ، فعال است ، گزينهCreate Schemaرا از طريق منویXML، انتخاب می نمائيم . در ادامه ، ويژوال استوديو دات نت ، فايلSchemaرا بمنظور تشريح فايلXMLايجاد می نمايد .

نظر یادتون نره

ارسال نظر

نام:* ایمیل:*
 
پررنگ کج خط دار خط دار در وسط | سمت چپ وسط سمت راست | قرار دادن شکلک قراردادن لینکقرار دادن لینک حفاظت شده انتخاب رنگ | پنهان کردن متن قراردادن نقل قول تبدیل نوشته ها به زبان روسی قراردادن Spoiler
 

نظرات

عضویت ویژه / تمامی مطالب / تماس با ما

طراحی شده توسط چشم انداز رسانه ها | پشتیبانی توسط سرور های قدرتمند میهن وب هاست