PDA

View Full Version : مشکل با session



leaping
چهارشنبه 14 خرداد 1393, 12:39 عصر
سلام دوستان عزیز
من بر روی یک سرور دوتا دامین به شکل زیر دارم
www.example.com (http://www.example.com)
www.example1.com (http://www.example1.com)

حالا توی php.ini تنظیمات سشن رو به این ترتیب قرار دادم
session.cookie_domain = example.com
برای اینکه میخواستم سشن ها توی زیر دامنه ها و کل مجموعه معتبر باشه

حالا من مشکلم اینه که هر وقت بخوام توی www.example1.com (http://www.example1.com) یک سشن تعریف کنم این سشن بعد از اجرای همون صفحه از بین رفته و دیگه معتبر نیست.یعنی اینکه سشن در طول اجرای اسکریپت فقط معتبر هست و این ربط به تعریف متغییرها داره و نه خود سشن, به عبارت دیگه سشن بعد از پایان اسکریپت از بین میره
حالا میبایست چیکار کنم؟

rezaonline.net
چهارشنبه 14 خرداد 1393, 14:09 عصر
session.cookie_domain = /

leaping
چهارشنبه 14 خرداد 1393, 18:18 عصر
session.cookie_domain = /
اینطوری سشن ها توی زیر دامنه هام معتبر نیستن که میخواستم باشن
راه های زیادی رو هم امتحان کردم اما جواب نداد که اومدم سراغ این روش

MMSHFE
پنج شنبه 15 خرداد 1393, 17:11 عصر
مطمئنید سشن شما از بین میره؟ شاید توی example.com سشن رو میسازین و توی www.example.com دارین میخونید و بهتون میگه وجود نداره.

leaping
پنج شنبه 15 خرداد 1393, 18:58 عصر
مطمئنید سشن شما از بین میره؟ شاید توی example.com سشن رو میسازین و توی www.example.com (http://www.example.com) دارین میخونید و بهتون میگه وجود نداره.
یعنی این دوتا باهم فرق دارن؟

MMSHFE
جمعه 16 خرداد 1393, 15:20 عصر
بله فرق دارن. الان اگه دوباره توی example.com وارد بشین (دستی آدرس رو عوض کنید) میبینید که سشن سر جاشه. یکی از دلایلی که موتورهای جستجو اصرار دارن یک آدرس (با یا بدون www وجود داشته باشه) و بخاطر اینکه سایتتون هم با www و هم بدون اون باز بشه، جریمه Duplicate Content میگیرین همینه که سشنها بطور پیشفرض توی ساب دامینهای مختلف اعتبار ندارن (وگرنه برای موتور جستجو چه فرقی میکنه که سایتتون محتوای تکراری داشته باشه یا نه). www هم در اصل یک ساب دامین محسوب میشه (ساب دامین اصلی که به خود پوشه public_html اشاره میکنه).

leaping
پنج شنبه 29 خرداد 1393, 20:16 عصر
بله فرق دارن. الان اگه دوباره توی example.com وارد بشین (دستی آدرس رو عوض کنید) میبینید که سشن سر جاشه. یکی از دلایلی که موتورهای جستجو اصرار دارن یک آدرس (با یا بدون www وجود داشته باشه) و بخاطر اینکه سایتتون هم با www و هم بدون اون باز بشه، جریمه Duplicate Content میگیرین همینه که سشنها بطور پیشفرض توی ساب دامینهای مختلف اعتبار ندارن (وگرنه برای موتور جستجو چه فرقی میکنه که سایتتون محتوای تکراری داشته باشه یا نه). www هم در اصل یک ساب دامین محسوب میشه (ساب دامین اصلی که به خود پوشه public_html اشاره میکنه).
شرمنده اقای شهرکی بعد اون مدت سرم خیلی شلوغ بود نشد پیگیر بشم
اما همچنان همین مشکل رو داره
من برای تست کد رو اینطوری تعریف کردم اول با اسم فایل test.php مثلا


<?phpsession_start();error_reporting(E_ALL);ini_set ('display_errors', 1);$_SESSION['password'] = '1';$_SESSION['username'] = '2';?>

بعد از درون یک فایل دیگه توی همین مسیر اون رو فراخوانی کردم با این اسم مثلا testi.php


<?phpsession_start();error_reporting(E_ALL);ini_set ('display_errors', 1);echo $_SESSION['password'];?>
اما ارور داد که این متغییر وجود نداره
حالا باید چیکار کنم مشکل از کجاست؟

emadrezvani
پنج شنبه 29 خرداد 1393, 20:27 عصر
سلام.
به نظر بنده بهتره به موضوع بصورت سرویس نگاه کنی. یعنی یه سرویس auth داشته باش از این پس هر دو سایت از این سرویس سرویس گیری کنند.( صرف نظر از محل قرار گیری سرویس - ممکن هست در کنار یکی از این دو هاست باشه).
در کدهای شما اگر از نظر لغوی مشکلی نداشته باشه(مثل چسبیدن php به session و یا ini_se بجای ini_set ) باید کار کنه.(به شرط اینکه روی یک هاست با یک یوزر باشن)
اما در مورد کد شما باید بگم که در هیچ شرایطی کلمه عبور رو به عنوان متغیر نشست و یا کوکی قرار ندید. توصیه می کنم همون حالت سرویس و با ارتباط رمزنگاری شده رو پیش بگیرید.

MMSHFE
پنج شنبه 29 خرداد 1393, 20:29 عصر
روی سروره یا لوکال کار میکنید؟ میتونید توی پیام خصوصی تیم ویور بدین ببینیم مشکل چیه؟

leaping
پنج شنبه 29 خرداد 1393, 21:19 عصر
روی سروره یا لوکال کار میکنید؟ میتونید توی پیام خصوصی تیم ویور بدین ببینیم مشکل چیه؟
روی یک vps هست که دارم روش کارهام رو تست میکنم. پ.خ میکنم براتون