آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

استفاده از session در صورت ست نبودن cookie

par4301  10 سال پیش  10 سال پیش
+2 0

سلام به همه، روزتون بخیر

من این نوشته ها در stack overflow (این  و این) و این پاسخ در همین uncox خودمون را دیدم، و واقعیت این که نمی خواهم از دستور زیر استفاده کنم و SESSIONID را به صورت GET در URL ذخیره کنم، چون به نظرم امنیت نداره و خب این تغییرات مال php.ini است و خب در سرور اشتراکی که به این فایل دسترسی نداریم، درسته؟ اگه اشتباه می کنم، بگین :) 

 ini_set("session.use_only_cookies", "0"); 
ini_set("session.use_trans_sid", 1);

ولی یک سئوالی هست که پاسخش را نفهمیدم،  این که اگر من به عنوان توسعه دهنده وب یک عالمه روی $_SESSION حساب باز کنم و برای متغیرهای اشتراکی بین فایل ها ازش استفاده کنم، مخصوصاً چون یک عالمه روی امنیت ذخیره سازی اطلاعات در طرف سرور حساب کردم، بعد کاربر بیاد و کوکی اش را غیر فعال کنه، چی میشه؟

سایت من برای اون کاربر خاص درست کار نمی کنه مثلاً؟

و راه حلش چیه؟ مثلاً بی خیال $_SESSION بشم و همه اش را در دیتابیس نگه دارم؟

این کار راه حل منطقی ای است به نظرتون؟ یا بی خیال کاربرهایی بشم که کوکی را غیر فعال کردن :-|

+1 0
این کدهایی که گفتید رو توی فایل index ذخیره و اجرا کنید کار می‌کنه. یعنی کد php هستند. در مورد سوال آخرتون باید بگم بله کار نمی‌کنه اما یک پلاگین دیده بودم به اسم Ever Cookie که احتمال می‌دم برای این مورد شما مناسب هست. بگردید دنبالش. (10 سال پیش)
0 0
ممنونم از پاسختون، هدف من فعال بودن کوکی به هر قیمتی نیست، می خواستم بدونم اگر کاربر غیر فعال کرده باشه، آیا بهتر نیست از یک روش دیگر استفاده کنم یا با توجه به این که تعداد کاربرهایی که کوکی را غیر فعال می کنند کم است، بی خیال بشم و از $_SESSION برای ذخیره سازی متغیرها بهره ببرم؟ (10 سال پیش)
+1 0
فکر نمی‌کنم نیازی باشه، چون احتمال اینکه کاربری کوکی رو غیرفعال کنه خیلی خیلی پایینه و به نظرم بهتره بیشتر به مسائل مهمتر فکر کنید و زیاد درگیر جزئیات نشید (10 سال پیش)
+1 0
اتفاقا خود استاد هم اشاره کردند که روش حرفه ایی تر ذخیره سشن ها در دیتابیس هست و نه بصورت فایل ، من الان به این بخش رسیدم و چون قبلا سوالتون رو دیده بودم < چون در حال مطالعه این فصل بودم گفتم یک نگاهی به این تاپیک بندازم چون مرتبط به سشن بود ! ، در مورد سشن ها یک نکته دیگه هم وجود داره که timeOut دارند و بعد از مدتی اطلاعاتشون پاک میشه ، که دلیلش این هست که روی حافظه و Ram در سرور قرار میگیرند (10 سال پیش)
0 0
بله، خیلی ممنونم که به این سئوال توجه کردین :) خب دیدم که استاد گفتند که در دیتابیس باشه حرفه ای تره، فقط دنبال این بودم که اکثریت چی کار می کنن؟ در سشن نگه میدارن یا دیتابیس؟ بالاتر یکی از دوستان گفتن که خب حالا مهم نیست و بریزیم در سشن، ولی به نظرم برای کارهایی که آدم فکر می کنه خیلی در سایت تاثیر منفی میذاره (اگر کاربر کوکی را غیرفعال کرده باشه) خب، منطقی تر استفاده از دیتابیس است ظاهرا... (10 سال پیش)
+2 0
وقتی شما سشن رو توی دیتابیس ذخیره‌سازی کنید فقط محل ذخیره‌شدن رو تغییر دادید. این قضیه که کاربر کوکی رو غیرفعال کنه حتی وقتی سشن رو توی دیتابیس ذخیره کنید هم وجود داره و ربطی به اون نداره. چون کوکی هست که آدرس مشخصات سشن رو نگه‌داری می‌کنه. نمونه‌اش وبلاگ خودم هست (می‌تونید امتحان کنید در بخش کامنت‌ها) سشن روی دیتابیس ذخیره می‌شه اما اگه کوکی رو غیرفعال کنید دیگه کار‌ نمی‌کنه. (10 سال پیش)
+2 0
حالا سوالی که برای من وجود داره این هست که فرض کنید قرار نیست از وبسایت استفاده کنیم ئ در این صورت مرورگری در کار نیست و قرار هست که یک وب سرویس داشته باشیم و اون رو روی گوشی های موبایل توسعه بدیم < توی این شرایط اگر بخواید از قابلیت های سشن استفاده کنیم چون مرورگر نداریم باید سشن رو توی دیتابیس ذخیره کرد < که البته من اینطوری فکر میکنم ، اما اینطور که دوستمون در پست بالا دارند اشاره میکنند باز هم در صورت غیرفعال بودن کوکی سشن در دیتابیس ذخیره نمیشه ! پس عملا در زمان استفاده از وب سرویس بدون و بدون وجود بروزر امکان استفاده از سشن نخواهد بود ! پس در نهایت باید یک فرآیند جدا و بصورت الگوریتم نویسی هم برای این موضوع باید انجام بشه ! که دیگه محدودیت هارو کمتر میکنه ! (10 سال پیش)
+1 0
بله خب، به نظرم اگه سشن این مشکل را داره که حتماً نیاز به کوکی داره (چه در دیتابیس ذخیره بشه یا نه)، شاید بهتر است برای مواردی که نیاز به یک متغیر مشترک بین فایل ها هست، مستقیم از دیتابیس استفاده کنیم (مخصوصاً وقتی که وب سرویس است)، این طوری دیگه به سشن وابستگی نداریم :-| (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Mr Mehdi  10 سال پیش
+1 0

Criss عزیز، ذخیره شدن سشن ربطی به ذخیره شدن کوکی نداره. سشن طرف سرور زخیره میشه و کوکی در طرف کاربر. کاربر می‌تونه کوکی رو کنترل کنه اما سشن رو نه. وقتی شما یک سشن رو ذخیره می‌کنید توی یک کوکی اطلاعاتی از سشنی که ذخیره شده نگه‌داری می‌کنه تا بعدا ازش دوباره استفاده کنه.

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

0 0
کاملا صحیح ، این مورد رو فراموش کرده بودم که سشن برای سرور هست و کوکی برای کاربر ، حالا یک چالش هنوز برای من وجود داره < استاد میگه که : سشن ترکیبی از ای پی شما + بروزر شما + ترکیبی از اطلاعات دیگه هست ، و اینکه وقتی سشن رو تست میکردیم سشن توی فایرفکس وجود داشت ولی توی اینترنت اکسپلورر وجود نداشت ، من سر این موضوع چالش برام پیش اومده که ، برای زمانی که از وب سرویس استفاده میکنیم و اطلاعات بصورت جیسون در سمت اندروید دریافت میشه ، رفتار سشن صحیح هست ؟ و یا اینکه مثل ارتباط داشتن در فایرفکس و در اینترنت اکسپلورر ممکنه در بعضی موارد وجود نداشته باشه ؟ (البته من میتونستم این رو تست بزنم و نتیجه بگیرم ولی ترجیح دادم اینجا مکتوب بشه ، شاید بدرد سایر دوستان هم بخوره) (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .