تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 9 از 9

نام تاپيک: تشخیص کاربر مهمان و کاربر عضو سایت

  1. #1
    آخر فروم باز Cyberlife's Avatar
    تاريخ عضويت
    Dec 2008
    محل سكونت
    MACS0647-JD
    پست ها
    1,095

    پيش فرض تشخیص کاربر مهمان و کاربر عضو سایت

    من میخواستم به سایتی که مشغول طراحی آن هستم امکانی اضافه کنم که کاربری که وارد سایت میشه اگه این کاربر تازه وارده یا برای اولین بار هست که وارد سایت شده پیغامی روی صفحه نمایش داده بشه که شما اولین باره وارد این سایت میشوید و برای بهره مندی از امکانات سایت باید عضو سایت بشید و برای کاربران عضو سایت این پیغامو نشون نده .

  2. #2
    پروفشنال as13851365's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    لیبدرا
    پست ها
    914

    پيش فرض

    برای این کار از کوکی استفاده می کنند که در سایت نمونه تایپیک های زیادی در این باره همراه با کد و آموزش هست اگه جستجو کنید به نتیجه می رسید

    در ضمن قبل از زدن تایپیک جدید بهتر است که جستجو کنید اگر به نتیجه نریسیدید سوال را مطرح کنید تا دوستان راهنمایی کنند
    با تشکر

  3. #3
    آخر فروم باز Cyberlife's Avatar
    تاريخ عضويت
    Dec 2008
    محل سكونت
    MACS0647-JD
    پست ها
    1,095

    پيش فرض

    ببخشید حوصله نداشتم بگردم ، اگه میشه لینک اون تاپیکها رو برام بذارید .

  4. #4
    آخر فروم باز Cyberlife's Avatar
    تاريخ عضويت
    Dec 2008
    محل سكونت
    MACS0647-JD
    پست ها
    1,095

    پيش فرض

    بالاخره چکار کنم ، به کدوم قسمت باید برم ؟

  5. #5
    آخر فروم باز Cyberlife's Avatar
    تاريخ عضويت
    Dec 2008
    محل سكونت
    MACS0647-JD
    پست ها
    1,095

    پيش فرض

    گشتم ولی به نتیجه ای نرسیدم ، اصلا نمیدونم باید در قسمت جستجو چی بنویسم

  6. #6
    پروفشنال as13851365's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    لیبدرا
    پست ها
    914

    پيش فرض

    ببخشید که دیر جواب می دم شرمنده

    حالا شما می خواهید با چه زبانی باشه با PHP و یا با ASP.net ؟

    برای جستجو هم بهتر است که کلمه "کوکی" را جستجو کنید

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  7. #7
    آخر فروم باز Cyberlife's Avatar
    تاريخ عضويت
    Dec 2008
    محل سكونت
    MACS0647-JD
    پست ها
    1,095

    پيش فرض

    دوست عزیز یک دنیا ممنون ، من برای زبان asp.net میخواستم البته برای Php هم به کارم میاد .

  8. #8
    پروفشنال as13851365's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    لیبدرا
    پست ها
    914

    پيش فرض

    این مقاله ای است که من قبلا ذخیره کرده بودم ( متاسفانه منبع ، چیزی ازش ندارم )

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


    کوکي‌ها (Cookies)
    استفان والتر در کتاب ASP.NET Unleashed در ابتداي بخش کوکي‌ها اينگونه مي‌گويد: "پروتکل HTTP هيچ امکاني را در اختيار وب سرور قرار نمي‌دهد تا بتواند به کمک آن تشخيص دهد درخواست جديد از همان مرورگري صادر شده که در خواست قبلي را فرستاده يا از مرورگر ديگري آمده است. از اين جهت به HTTP صفت ناپايداري (Stateless) را ميدهند. از نقطه نظر وب سرور هر درخواستي که براي دريافت يک صفحه صادر شده است از طرف کاربري جديد ارسال شده است." اين به طور قطع آن چيزي نيست که ما مي خواهيم! وقتي مي‌خواهيم اطلاعات کاربر را در هر صفحه به او نشان بدهيم (از قبيل شناسه کاربري، کلمه عبور، سبد خريد و...) بايد بتوانيم وضعيت آن را حفط کنيم يکي از راههاي بسيار خوب در اين زمينه استفاده از کوکي‌ها مي‌باشد.

    اولين بار Netscape کوکي‌ها را در مرورگر خود به کار برد و به تدريج کنسرسيوم وب (W3C) نيز آن را پذيرفت و امروزه اکثر مرورگرها از کوکي‌ها پشتيباني مي کنند. بر اساس مستندات اوليه Netscape، يک کوکي نميتواند حجمي بيشتر از 4 کيلوبايت داشته باشد و با بستن صفحه مرورگر کوکي‌ها نيز از بين مي روند. البته نگران نباشيد اينها کوکي‌هايي هستند که پارامتر Expires آنها تنظيم نشده است. اما اگر اين پارامتر را تنظيم کنيد، کوکي‌ها باقي مانده و دائمي مي شوند. اما تا کي؟ تا آن تاريخي که در خاصيت Expires تنظيم کرده‌ايد. مرورگرهايي که مي توانند با کوکي‌ها کار کنند داراي چند فايل ويژه مي‌باشند که در ويندوز به آنها فايل‌هاي کوکي و در مکينتاش فايل‌هاي جادويي مي گويند. کوکي‌ها از طريق هدرهاي HTTP بين مرورگر و سرور جابجا مي شوند. سرور با استفاده از هدر Set Cookie يک کوکي جديد ايجاد کرده و در درخواست‌هاي بعدي اين کوکي به سرور فرستاده مي شود.

    در مقاله‌اي از سايت ASPFREE در مورد خواندن و نوشتن کوکي‌ها اينگونه نوشته شده است: "براي نوشتن کوکي يک شيئ جديد HttpCookie بسازيد و مقدار يک رشته را به آن اختصاص دهيد (به خاصيت Value آن) و سپس متد ()Add را در Response.Cookies فرا بخوانيد. شما همچنين مي توانيد مقدار Expires را به يک مقدار تاريخ تغيير دهيد تا زمان انقضاء براي کوکي‌تان تايين کرده باشيد."

    بايد توجه داشته باشيد که کوکي‌ها فقط مقادير رشته‌اي را ذخيره مي کنند و براي نوشتن مقادير ديگر در کوکي‌ها بايد هر آنها را به يک رشته تبديل کنيد. اين کد از سايت CodeToad براي يادگيري نحوه استفاده کوکي‌ها بسيار مناسب مي باشد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به دلايل امنيتي شما مي‌توانيد فقط کوکي‌هايي را بخوانيد که از يک دامنه آمده باشند. همچنين ممکن است شما نياز به کوکي‌هايي داشته باشيد که چند آيتم را در خود نگهداري کنند، يک مثال براي اين کار در زير مي بينيد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    يک مثال درباره کوکي‌هاي تو در تو به زبان VB.NET:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    جدول زير بعضي از خصوصيات پيشرفته کوکي‌ها را نمايش مي‌دهد:
    خاصيت
    توضيحات

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دامنه‌اي که محدوده کوکي را تعيين مي کند.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مسير منتسب به کوکي.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مقدار بوليني که تعيين مي کند آيا کوکي بايد فقط روي يک اتصال رمز شده ارسال گردد يا نه؟

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مقدار بوليني که تعيين مي کند که آيا کوکي مربوط به يک کوکي ديکشنري است يا نه؟



    بطور خلاصه، کوکي‌ها چه خوبيهايي دارند؟ اشغال فضا روي کلاينت که باعث کاهش ترافيک و اشغال فضا روي سرور مي شود و اطمينان کار. کوکي‌ها چه بديهايي دارند؟ بعضي از مرورگرها از کوکي‌ها پشتيباني نمي کند، بعضي از کاربران کوکي‌ها را پاک مي کنند يا نمي پذيرند و اين که فقط داده نوع رشته‌اي را ذخيره مي کنند.


    جلسات (Sessions)
    فريم ورک دات نت براي رد گيري حرکت کاربر ما را تنها نگذاشته و يک امکان خوب به نام Session State را در اختيار ما قرار داده است. به طور پيش فرض وقتي کاربر اولين بار صفحه‌اي را از يک وب سايت ساخته شده با ASP.NET درخواست مي کند يک کوکي جلسه به نام ASP.NET_SessionID ساخته شده و به مرورگر او ارسال ميشود. با اين کار ASP.NET قادر به پيگيري کاربر شده و ميتواند در درخواست‌هاي بعدي او را شناسايي کند.

    بر اين اساس در ASP.NET يک شيء به نام Session قرار داده شده است که ميتوانيد از آن براي نگهداري اطلاعات مربوط به هر کاربر استفاده کنيد. براي مثال دستور زير يک آيتم با نام MyItem ايجاد کرده و Hello را به آن نسبت ميدهد:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    هنگام کار با Sessionها بايد به نکات زير توجه کنيد:

    1 - هر Session اگر کارير مرورگر را ببندد يا 20 دقيقه از سرور درخواست نکند از بين مي رود.

    2 - Session هر کاربر جدا از Session بقيه کاربران است.

    3 - در Session بر خلاف کوکي‌ها مي توان شيئ هم ذخيره کرد.

    جدول زير بعضي از خصوصيات و متدهاي شيئ Session را نمايش ميدهد:
    خاصيت/متد
    توضيحات

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پاک کردن Session

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پاک کردن تمام Sessionها

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ID منحصر به فرد جلسه فعلي را برميگرداند.

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

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



    نکته: از طريق فايل web.config نيز مي‌توان مهلت ختم جلسه را تغيير داد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    Eventها يا وقايع جلسه‌ها دو مورد هستند: Session_Start و Session_End. که Session_Start وقتي رخ مي دهد که جلسه آغاز و Session_End وقتي رخ مي دهد که جلسه خاتمه پيدا کند. اين Eventها را بايد در فايل Global.asax تعريف کرد.

    در زير يک مثال عملي از اين رويدادها را خواهيد ديد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بطور کلي براي نگهداري مقادير Sessionها در ASP.NET سه روش وجود دارد: درون پروسه (In Process)، ذخيره در سرويس ويندوز و ذخيره در SQL Server.

    Sessionها به طور پيش فرض در داخل پروسه مديريت مي شود و تمام آيتم‌هايي که در Sessionها مي‌سازيم در همان پروسه وب سرور ذخيره مي شوند. مهمترين مشکل اين روش اين است که اگر به هر دليل سرور از کار بيفتد و يا Web Applicationما دستکاري شود، تمام داده‌ها از بين ميرود و از طرف ديگر بسط پذيري را در سايت محدود مي کند و نمي توان آن را به اشتراک گذاشت.

    اما با استفاده از تکنيک ذخيره در پايگاه داده SQL Server مي‌توان حتي در صورت از کار افتادن سرور نيز اطلاعات را حفظ کرد. تعريف اشياي ضروري در SQL Server به منظور مديريت داده‌هاي جلسه با اجراي بچ فايل InstallSqlState.sql صورت مي گيرد. بعد از اين کار بايد فايل web.config را نيز به شکل زير تغيير داد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  9. 2 کاربر از as13851365 بخاطر این مطلب مفید تشکر کرده اند


  10. #9
    آخر فروم باز Cyberlife's Avatar
    تاريخ عضويت
    Dec 2008
    محل سكونت
    MACS0647-JD
    پست ها
    1,095

    پيش فرض

    دیگه بهتر از این نمیشه ، از شما بابت زحمتی که کشیدیدممنونم .

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •