نمایش نتایج 1 تا 12 از 12

نام تاپیک: 0 شدن $_SESSION پس از ورود

  1. #1
    کاربر دائمی آواتار parnian~parnian
    تاریخ عضویت
    آبان 1387
    محل زندگی
    زیر سایه ایزد بی همتا
    پست
    293

    0 شدن $_SESSION پس از ورود

    با سلام خدمت دوستان عزیزم


    یه سوال بسیار تخصصی و فوری دارم ازتون

    من یه وب سایت دارم که شامل قسمت های زیادیی هست که با کاربر در تمکاسه و هم اینکه درگاه پرداخت داره

    وقتی کاربر ها لاگین میکنن من id هر کاربری که لاگین میکنه رو توی یه سشن ذخیره میکنم و تو کل سایت ازش استفاده میکنم

    حالا به یه مشکلی بسیارررررررررررررررر بزرگ برخورد کردم اینکه حین کار برای برخی از افراد id کاربر رو توی جدول های مختلف 0 میزنه!
    الان توی پرداخت های درگاه به مشکل برخورد کردیم و تو قسمت های دیگه هم همین طور

    سوال من اینه

    1: چرا این اتفاق میوفته ؟ تحت چه شرایطی سشن خود به خود 0 میشه؟ من چطوری میتونم جلوی این کارو بگیرم؟
    2: آیا راه ایمن تری برای ذخیره id کاربر لاگین کرده هست بجز سشن؟





    ممنونم دوستان اگ پاسخ بدین ....

  2. #2
    کاربر دائمی آواتار parnian~parnian
    تاریخ عضویت
    آبان 1387
    محل زندگی
    زیر سایه ایزد بی همتا
    پست
    293

    نقل قول: 0 شدن $_SESSION پس از ورود

    دوستان عزیزم کسی نیست که پاسخ بده ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مهر 1394
    محل زندگی
    ایران
    پست
    357

    نقل قول: 0 شدن $_SESSION پس از ورود

    سشن رو کجا میزنی ؟
    آیا واقعا مقدار داخلش میریزی ؟
    سشن رو کجا استارت میکینی ؟
    یه خلاصه ای از کدهات لاقل میذاشتی !!!

  4. #4
    کاربر دائمی آواتار parnian~parnian
    تاریخ عضویت
    آبان 1387
    محل زندگی
    زیر سایه ایزد بی همتا
    پست
    293

    نقل قول: 0 شدن $_SESSION پس از ورود

    ببینین کدهام خیلی پیچیدست .. کدهای یه وب سایت بزرگه

    در مورد همه کاربرا درسته 0 نمیشه ولی توی بعضی از شرایط که متاسفانه من نمیدونم چه شرایطی پیش میاد سشن خود بخود 0 میشه !!!!!!!!!! و توی درگاه به مشکلات بزرگی برخورد کردیم کاربر پول میریزه موفقیت امیزه ولی id اش رو 0 میزنه!

    اگه راهنمایی کنین ممنون میشم

  5. #5

    نقل قول: 0 شدن $_SESSION پس از ورود

    نقل قول نوشته شده توسط parnian~parnian مشاهده تاپیک
    ببینین کدهام خیلی پیچیدست .. کدهای یه وب سایت بزرگه

    در مورد همه کاربرا درسته 0 نمیشه ولی توی بعضی از شرایط که متاسفانه من نمیدونم چه شرایطی پیش میاد سشن خود بخود 0 میشه !!!!!!!!!! و توی درگاه به مشکلات بزرگی برخورد کردیم کاربر پول میریزه موفقیت امیزه ولی id اش رو 0 میزنه!

    اگه راهنمایی کنین ممنون میشم
    سلام

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

  6. #6
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: 0 شدن $_SESSION پس از ورود

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

    هر سشن 2 تا فایل فیزیکی داره
    یکیش روی سرور قرار میگیره
    یکیش هم یه کوکیه که روی کامپیوتر کاربر ذخیره میشه
    این فایل ها هم یه تاریخ انقضا دارن که بعد از اون تاریخ دیگه معتبر نیستن
    برای اینه که شما امروز لاگین میکنی تو یه سایت بعد فردا میری میبینی لاگین نیستی

    همچنین اگه اتفاقی بیفته و این فایل ها پاک بشن از روی سرور یا کامپیوتر کلاینت شما باز لاگ اوت میشی


    اگه جای یاز برنامه که از سشن استفاده میشه (مثلا برای سبد خرید ) از session_destroy استفاده کرده باشی همه سشن ها از بین میره از جمله سشن آیدی/لاگین

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

  7. #7
    کاربر دائمی آواتار parnian~parnian
    تاریخ عضویت
    آبان 1387
    محل زندگی
    زیر سایه ایزد بی همتا
    پست
    293

    نقل قول: 0 شدن $_SESSION پس از ورود

    واقعا ممنون از توضیحاتتون خیلی جامع و عالی بود .............


    یعنی منظور شما اینه که من وقتی کاربر لاگین میشه ، سشن بهش بدم بعد همون موقع اون سشن رو توی یه جدول توی پایگاه داده ذخیره کنم؟ یعنی به ازای هر کاربر یه سشن ؟بعد چطوری ازش استفاده کنم دسترسی پیدا کنم به بهش ؟
    شما میتونی سشن ها رو توی دیتبایس بریزی بجای فایل روی سرور اینجوری امنیتشون بیشتر میشه در ازای پایین اومدن جزئی سرعت و همچنین دیگه فایل فیزیکی در کار نیست که اتفاقی براش بیفته

    این بخش رو درست متوجه نمیشم شرمنده اگ توضیح بدین ممنون میشم .......

  8. #8
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: 0 شدن $_SESSION پس از ورود

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

  9. #9
    کاربر دائمی آواتار parnian~parnian
    تاریخ عضویت
    آبان 1387
    محل زندگی
    زیر سایه ایزد بی همتا
    پست
    293

    نقل قول: 0 شدن $_SESSION پس از ورود

    یکمممممممممممممم پیچیده شد!!!!! ولی متاسفانه من مجبورم این کارو بکنم چون باید درصد خطای کارم بیاد پایین ممنون که راه رو بهم نشون دادین ......... اگه چیزی دستگیرم شد اینجا میذارم تا استفاده کنین همه دوستان ........

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

  10. #10
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: 0 شدن $_SESSION پس از ورود

    بله به صورت دیفالت توی فایل ذخیره میشه توی پوشه tmp همونجوری که دوستان گفتن
    شما باید این رو بیخیال بشی و با استفاده از دیتبایس این عملکرد رو شبیه سازی کنی
    خیلی ساده بخام بگم باید تو دیتبایس یه ردیف ثبت کنی به ازای هر سشن و توی اون ردیف اطلاعاتی که مد نظرته رو سریال و ذخیره کنی (مثلا آیدی کاربر)

    id , session_id , data
    1 , 23243435454 , {"user_id":1}
    2 , 89243432345 , {"user_id":2 , "last_active":1232135454}


    بعد سشن آیدی اون ردیف سشن رو که یه کد پیچیده شناسایی هستش رو میزاری تو یه کوکی بریزی رو کامپیوتر کاربر
    بعد وقتی کاربر میاد تو سایت کوکیش رو میخونی و آیدی سشن رو در میاری بعد میری تو دیتابیس اون سشن رو میخونی و اطلاعات مدنظرت رو در میاری

    البته خیلی ساده و پیش پا افتاده گفتم من باید چند تا آموزش کامل تر رو بخونی
    هنمچنین این چیزیه که برنامه نویس نباید بهش فکر کنه و تمرکز بزاره روش .... برای همین از فریم ورک استفاده میکنن خیلی ها چون ترتیب این اضافه کاری ها رو میده
    آخرین ویرایش به وسیله plague : چهارشنبه 22 دی 1395 در 08:26 صبح

  11. #11
    کاربر دائمی آواتار parnian~parnian
    تاریخ عضویت
    آبان 1387
    محل زندگی
    زیر سایه ایزد بی همتا
    پست
    293

    نقل قول: 0 شدن $_SESSION پس از ورود

    هنمچنین این چیزیه که برنامه نویس نباید بهش فکر کنه و تمرکز بزاره روش .... برای همین از فریم ورک استفاده میکنن خیلی ها چون ترتیب این اضافه کاری ها رو میده
    یعنی کل عملیاتی که شما اینجا توضیح دادین رو فریم ورک شبیه سازی میکنه؟ و من از یه فریم ورک استفاده کنم ؟

  12. #12
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: 0 شدن $_SESSION پس از ورود

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

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

    یجورایی کار از کار این پروژه گزشته
    سعی کن بری یه فریم ورک یاد بگیری و از حالا خواستی پروژه اجرا کنی با فریم ورک بنویسی بعدش اگه وقت/حالش رو داشتی این پروژت رو از اول با فریم ورک باز نویسی کن




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

تاپیک های مشابه

  1. Refresh شدن vsflexgrid پس از ورود اطلاعات
    نوشته شده توسط davood59 در بخش کامپوننت ها و ابزارهای کاربردی در VB6
    پاسخ: 8
    آخرین پست: چهارشنبه 05 فروردین 1388, 12:37 عصر
  2. باز شدن منو پس از لود فرم
    نوشته شده توسط انگوران در بخش Access
    پاسخ: 21
    آخرین پست: چهارشنبه 13 دی 1385, 11:34 صبح
  3. غیرفعال شدن برنامه پس از اجرا
    نوشته شده توسط FirstLine در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: پنج شنبه 04 خرداد 1385, 00:44 صبح
  4. پاک شدن برنامه پس از گذشت یک زمان مشخص
    نوشته شده توسط babak869 در بخش برنامه نویسی در Delphi
    پاسخ: 26
    آخرین پست: جمعه 23 دی 1384, 23:00 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •