پایگاه دانش
توضیح Sessions و Cookies
ارسال شده توسط عباس پيرنظريان در تاریخ 1390/07/24 12:27 بعد از ظهر

توضیحSessions  و Cookies   :

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

Session برخلاف کوکی در سرویس دهنده (Server) ذخیره می شود مکان ذخیره Session را میتوان تغییر داد ولی به صورت پیش فرض در حافظه ذخیره می شود برای همین است که  به سرعت قابل دسترسی است ، در هنگام ساخت یک جلسه (Session) یک کوکی هم در سرویس گیرنده با مقدار آیدی Session ایجاد می گردد ، این به این دلیل است که مقادیر Session عمومی نیست و باید به ازای هر کاربر ایجاد گردد .

به دلیل اینکه Session در حافظه سرور ذخیره می شود و حافظه از منابع بسیار مهم سرور به حساب می آید استفاده نا بجا از آن می تواند به سرور لطمه وارد کند ، البته معمولا سرویس دهندگان میزبان زمانی را جهت TimeOut شدن Session قرار میدهند تا مشکلی از نظر مدیریت حافظه پیش نیاید . بنابراین شما قادر نخواهید بود مقادیری را برای مدت طولانی در حافظه ذخیره کنید مگر اینکه محل ذخیره Session را تغییر دهید .

************************************************************************************************************************

فرق اصلی بین کوکی ها و سشن ها اینه که کوکی ها در مرورگر کاربر ذخیره میشن در حالی که سشن ها اینطور نیستند. این تعیین کننده اینه که کدومشون برای استفاده بهتر می باشند.

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

این درحالیست که سشن ها متکی به دسترسی دادن کاربر مثل کوکی ها نیستند. و هروقت کاربر مرورگرش رو باز کرد انگار اجازه دسترسی قبلاً داده شده است. اما سشن هم مشکلی داره و اونم اینه که وقتی شما مرورگر رو می بندی سشن رو از دست میدی. پس باز هم مثال لوگین مثال خوبی خواهد بود. اگر شما سایتی داشتید که کاربر بخواد توش لوگین کنه ، استفاده از سشن اصلاً مناسب نیست و کاربر در این صورت مجبوره هر بار که صفحه رو می بنده دوباره لوگین کنه.

البته شما می توانید از هر دو استفاده کنید. وقتی بدونید هرکدوم چیکار می کنند و کجا بکار میاد می تونید اونها رو با هم ترکیب کنید و باعث بشید سایتتون بهتر کار کنه.

************************************************************************************************************************

کوکی ها و سسشن ها هرگز جایگزینی برای هم دیگه نیستند و باید هرکدوم رو به جاش استفاده کنیم!
یه نکته یه دیگه اینکه سسشن هم خودش کوکی!
یعنی میاد یه کوکی رو روی سیستم کاربر ایجاد می کنه!
که این کوکی فقط حاوی یک کی ( key ) منحصر بفرد برای فقط اون کاربر هستش
و بعد موتور PHP میاد اطلاعات رو با نام اون کلید ( key ) در سرور ذخیره می کنه!
با بسته شدنه مرورگر این کوکی که حاوی کلید هست هم حذف می شه چون PHP عمر این کوکی رو 0 در نظر گرفته!!
شما بسادگی می تونید مانند یک سسشن رو خودتون پیاده کنید! یعنی اینکه اینکا با کوکی ها به سادگی شدینه

نکته امنیتی هم که داره اینه که اگه کلید یک کاربر ( که درواقع یک کوکی هست ) سرقت بشه
سارق می تونه خودش رو جای کاربر جا بزنه ...
برای فرار از این خطر در هر باری که کاربر درخواست می ده باید کلیدش رو عوض کنید تا اگر هم کلید سرقت شد کلید قبلی از درجه ارزش فاقد بشه
البته این روش ممکنه به تنهایی کافی نباشه و شما می تونید با چک کردن IP امنیت رو بالاتر ببرید که باز هم زیاد امن نیست
درواقع این ضعف از برنامه شما نیست این از مرورگر کاربر ناشی میشه!!!

************************************************************************************************************************

 

 

(1 رأی/آراء)
مفید بود
مفید نبود

نظرات (0)
ارسال نظر جدید
 
 
نام کامل:
ایمیل:
متن نظر:
Help Desk Software by Kayako