loading...
کـــــــــــــــــرج 2
نــــــیـما اقایـــی بازدید : 561 شنبه 25 دی 1389 نظرات (1)

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

مهمترين رسالت برنامه های کامپيوتری ارتباط با کاربران و پاسخگوئی به نياز آنان با توجه به پتانسيل های پيش بينی شده در برنامه می باشد. شناسائی کاربران توسط برنامه های کامپيوتری می تواند زمينه ارائه سرويس ها و خدمات بهينه تری را فراهم نمايد( ارائه سرويس ها و خدمات مشخص شده به گروهی خاص از کاربران )  . برنامه های وب نيز از اين قاعده مستثنی نبوده و با توجه به ماهيت 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 انجام خواهد شد. Data set ، با استفاده از متد Find ، قادر به بازيابی سطرهائی از داده  بکمک کليدها ی منحصربفرد می باشد . استفاده از يک Data set ، بدان معنی است که فايل ايجاد شده بر روی سرويس دهنده ، می بايست يک بانک اطلاعاتی و يا يک فايل XML باشد . استفاده از فايل های XML در موارديکه داده های مورد نظر برای ذخيره سازی اندک بوده و روابط بين اقلام اطلاعاتی نيز پيچيده نباشد ، توصيه می گردد .

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

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

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

برای ايجاد يک فايل XML در ويژوال استوديو ، گزينه Add New Item را از طريق منوی 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 برای Data set ايجاد گردد. XML Schema ، مسئوليت تشريح عناصر داده ئی  موجود در يک فايل XML را بر عهده دارد. XML Schema ،  نام عناصر ، نوع آنان ،کليد بودن فيلد و ساير اطلاعات ضروری را ارائه می نمايد . برای ايجاد XML Schema  از يک فايل XML ، زمانيکه فايل XML در پنجره طراحی ويژوال استوديو دات نت ، فعال است ، گزينه Create Schema را از طريق منوی XML ، انتخاب می نمائيم . در ادامه ، ويژوال استوديو دات نت ، فايل Schema را بمنظور تشريح فايل XML  ايجاد می نمايد .

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

ارسال نظر برای این مطلب
این نظر توسط e30 در تاریخ 1348/10/11 و 12:49 دقیقه ارسال شده است

salam khoobi shoma mamnoon mishma ba ham tabadol link konim webloge qashangi darid mamnoon misham be manam sar bezanid
azizi bye


کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آمار سایت
  • کل مطالب : 598
  • کل نظرات : 297
  • افراد آنلاین : 2
  • تعداد اعضا : 224
  • آی پی امروز : 6
  • آی پی دیروز : 44
  • بازدید امروز : 31
  • باردید دیروز : 165
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 31
  • بازدید ماه : 1,439
  • بازدید سال : 14,952
  • بازدید کلی : 1,007,018
  • کدهای اختصاصی
    « ارسال برای دوستان »
    نام شما :
    ایمیل شما :
    نام دوست شما:
    ایمیل دوست شما:

    Powered by ParsTools
    مطالب پر بازديد اثر آلودگی روی کیفیت زندگی بازدید : 25467
    ارتباط فردوسی و سلطان محمود غزنوی بازدید : 15915
    هواكره چيست؟ بازدید : 13461
    نمونه سوال فیزیک (مدرسه تیزهوشان) اول راهنمایی بازدید : 10763
    تفسیر ایت الکرسی بازدید : 10627
    هنجار و ارزش های اجتماعی بازدید : 10387
    معرفی شغل پزشکی بازدید : 9121
    تیتراسیون اسید-باز بازدید : 8099
    ساختار سلولی چیست بازدید : 7997
    مهمترین مشکلات معلولین جسمی و حرکتی بازدید : 7471
    اصول راه اندازی یک کسب و کار موفق بازدید : 6893
    اهميت جنگل ها و مراتع بازدید : 6633
    آشنایی با رشته مکانیک خودرو بازدید : 6493
    موقعیت جغرافیایی کرج(البرز) بازدید : 6223
    تاریخچه ارگ بم بازدید : 6125
    نقش رسانه ها در پیشرفت جامعه بازدید : 6029
    اثرات نور بر روی گیاهان بازدید : 5829
    انگیزش چیست بازدید : 5387
    پروژه مخابرات پایان نامه دانشجویی بازدید : 5123
    سوالات روش هاي تحقيق در روان شناسي و علوم تربيتي بازدید : 4929
    نقش سرمایه انسانی در توسعه اقتصادی بازدید : 4749
    نظام اقتصادی بازدید : 4727
    نمونه سوال مدرسه تیزهوشان علوم اول راهنمایی بازدید : 4727
    سوالات روش هاي تحقيق در روان شناسي و علوم تربيتي بازدید : 4681
    وكالت بلا عزل بازدید : 4501
    روشهاي نگهداري مواد غذايي بازدید : 4411
    قانون های نیوتون بازدید : 4309
    مقایسه ساعت کار ایران با سایر کشورها بازدید : 4289
    آب و هواي آسيا بازدید : 4223
    نكات ايمني در ساختمان سازي بازدید : 4057
    سخنان آموزنده: