Session

seyyedali_110

New Member
آخرین ویرایش:

tabib_m

Member
بله، طبیعتا باید همینطور باشه
سشنی که ثبت میشه، فقط توی دومینی کار میکنه که توی اون دومین ثبت شده.
منظورم از دومین با کمی تسامح هست، یعنی
کد:
http://www.domain.com/folder/
با
کد:
http://subDomain.domain.com/
دو تا دومین جدا حساب میشن

نباید انتظار داشته باشید که سشنی که در سایت google ثبت شده در سایت yahoo قابل شناسایی باشه!!

موفق باشید.
 

jhoseini

Member
البته این مشکل در بعضی اوقات رفع میشه
چرا مشکل؟
hanghead.gif

این باعث حفظ امنیت میشه

شما میتونید به جای سشن در این موارد با ip کاربر رو پیدا کنید و متغیر های سشن رو روی دیتابیس نگه دارید

دو تا دومین جدا حساب میشن
نمیشه یه جوری share کرد؟
interview.gif
 

seyyedali_110

New Member
من الان هم سشن ها رو در دی یب ذخیره می کنم
نمیشه کاری کرد سشن ها از هر ساب دوماینی قابل دسترس باشند
 

tabib_m

Member
شما میتونید به جای سشن در این موارد با ip کاربر رو پیدا کنید و متغیر های سشن رو روی دیتابیس نگه دارید
کار درستی نیست! با بسته شدن بروزر و باز شدن دوباره ی اون در صفحه ی مورد نظر همچنان مقدار در دسترس خواهد بود...

راه حلش اینه که کوکی سشن ها رو به صورت دستی به این صورت اضافه کنید:
PHP:
session_start();
setcookie("PHPSESSID", session_id(), 0, "/", ".yoursite.com");
عبارت PHPSESSID بستگی داره به تنظیمات php.ini که معمولا به صورت پیشفرض همین مقدار در نظر گرفته شده. میتونید مقدار مورد نظر رو در phpinfo() مشاهده کنید. عدد صفر هم به این منظور هست که زمانی که مرورگر بسته شد٬ کوکی مربوطه پاک بشه. و علامت / هم برای اینه که کوکی مربوطه در تمامی دایرکتوری ها کار کنه و در نهایت عبارت ".yoursite.com" (با توجه به نقطه ی اول) برای اینه که کوکی مورد نظر در تمامی سابدومین ها اجرا بشه. به جای yoursite باید اسم سایتتون رو قرار بدید.

برگرفته از اینجا

پ.ن: من خودم تست نکردم و با اشکالات احتمالی اون آشنا نیستم ...

موفق باشید.
 

tabib_m

Member
راه دیگه ای که توی اینترنت متوجه شدم (سایت رسمی php) اینه که توی php.ini مقدار عبارت session.cookie_domain رو برابر با عبارت زیر بذارید:
کد:
session.cookie_domain = .yoursite.com
متأسفانه در شرایطی نیستم که بتونم تست کنم.

موفق باشید.
 

جدیدترین ارسال ها

بالا