با سلام
چطوری میشه فهمید که الان چه سشن هایی در سرور ثبت شدن؟
( حد اقل session id ها رو به دست بیاریم، اطلاعات دیگه ، هر چی بیشتر بهتر :) )
ممنون
با سلام
چطوری میشه فهمید که الان چه سشن هایی در سرور ثبت شدن؟
( حد اقل session id ها رو به دست بیاریم، اطلاعات دیگه ، هر چی بیشتر بهتر :) )
ممنون
اگه خودت رو سروری مسیر Session ها اگرم نیستی (به هرشکلی) که نمی تونی
ممنون
خوب طبیعتا برنامه م داره رو سرور اجرا میشه.
اما توی فولدر مربوطه سشن های زیادی هست که مال الان نیستن!
در ضمن session_id رو چجوری میتونم ازشون در بیارم؟
و سؤال بعدی این که:
تاریخ ثبت سشن، همون تاریخ ساخته شدن فایل مذکوره دیگه؟
و مسئله ی بعدی این که:
توی یکی از هاست ها، نوشته که سشن ها در پوشه ی /tmp ذخیره شدن. ولی توی اون پوشه هیچ فایلی که مربوط باشه به سشن وجود نداره! اشتباه من کجاست؟
ممنون و موفق باشید.
بخشی از اسم فایل، همون سشن آیدی است.در ضمن session_id رو چجوری میتونم ازشون در بیارم؟
آرهتاریخ ثبت سشن، همون تاریخ ساخته شدن فایل مذکوره دیگه؟
کجاش نوشته؟توی یکی از هاست ها، نوشته که سشن ها در پوشه ی /tmp ذخیره شدن.
ایمیل من
سایت من
عضویت در جامعهی اهدای عضو
Direct PGP key: http://tinyurl.com/66q5cy
PGP key server: keyserver.ubuntu.com
PGP name to search: omidmottaghi
ممنون.
چه بخشی؟ قابل جداسازی هست یا نه؟ (فکر نمیکنم قابل جداسازی نباشه!)بخشی از اسم فایل، همون سشن آیدی است.
کجاش نوشته؟
phpinfo();
قضیه ی این چیه؟
(این مورد ، در قسمت /tmp در easyphp ای هست که روی سیستم خودم نصبه)اما توی فولدر مربوطه سشن های زیادی هست که مال الان نیستن!
نمیشه سشن هایی که همین الان فعال هستن رو به دست آورد؟
ممنون
موفق باشید
فکر میکنم این آدرس قابل تغییر باشه از طریق php.ini یا ini_setتوی یکی از هاست ها، نوشته که سشن ها در پوشه ی /tmp ذخیره شدن.
متن زیر رو از این کتاب میزارم براتون:
Exposed Session Data
When on a shared host, security simply isn't going to be as strong as when on a dedicated host. This is one of the tradeoffs
for the inexpensive fee.
One particularly vulnerable aspect of shared hosting is having a shared session store. By default, PHP stores session data
in /tmp, and this is true for everyone. You will find that most people stick with the default behavior for many things, and
sessions are no exception. Luckily, not just anyone can read session files, because they are only readable by the web server:
$ ls /tmp
total 12
-rw------- 1 nobody nobody 123 May 21 12:34 sess_dc8417803c0f12c5b2e39477dc371462
-rw------- 1 nobody nobody 123 May 21 12:34 sess_46c83b9ae5e506b8ceb6c37dc9a3f66e
-rw------- 1 nobody nobody 123 May 21 12:34 sess_9c57839c6c7a6ebd1cb45f7569d1ccfc
$
Unfortunately, it is pretty trivial to write a PHP script to read these files, and because it runs as the user nobody (or whatever
user the web server uses), it has the necessary privileges.
The safe_mode directive can prevent this and similar safety concerns, but since it only applies to PHP, it doesn't address
the root cause of the problem.
این کد روشی رو نشون میده که بجای پوشه tmp/ اطلاعات توی دیتابیس ذخیره بشه
وقتی بدون destroy کردن session از صفحه خارج شوید تا زمان انقضا باقی می مونهاما توی فولدر مربوطه سشن های زیادی هست که مال الان نیستن!
شسن ها رو با شناسه و زمانشون تو دیتا بیس ذخیره کن .
میدونم، مشکلم با تغییر فولدر نیست، مسئله اینجاس که هم اکنون سشن ها کجا دارن ذخیره میشن؟فکر میکنم این آدرس قابل تغییر باشه از طریق php.ini یا ini_set
ممنون. یعنی اگر یک نفر session id رو داشته باشه، توی این مدت زمان میتونه به همون سشن های قبلی دسترسی پیدا کنه؟ (حتی اگر مرورگر از طرف کاربر اول ، بسته شده باشه)وقتی بدون destroy کردن session از صفحه خارج شوید تا زمان انقضا باقی می مونه
به دردم نمیخوره، من میخواستم سشن هایی رو به دست بیارم که همین الان فعال هستن.شسن ها رو با شناسه و زمانشون تو دیتا بیس ذخیره کن .
اما مثل این که بر اساس گفته ی جناب vahidAM نمیشه از این مسئله مطمئن شد...
در هر صورت، ممنون.
موفق باشید.
محسن جان، دقیقا بگو چی رو می خوای بدونی تا به همون مورد جواب بدیم... الان هزار تا قضیه اومده وسط!!
ایمیل من
سایت من
عضویت در جامعهی اهدای عضو
Direct PGP key: http://tinyurl.com/66q5cy
PGP key server: keyserver.ubuntu.com
PGP name to search: omidmottaghi
یعنی چی فعالن؟ خب هر سشنی تا یه مدت زمان معینی روی سرور باقی می مونه که اون زمان رو توی php.ini می تونی تنظیمش کنی (فکر کنم session.cookie_lifetime ) . وقتی زمانه ثبتو داشته باشی همه چی حله دیگه !
آی دی هم که داری و می دونی کدوم سشنه.
یعنی چی فعالن؟ خب هر سشنی تا یه مدت زمان معینی روی سرور باقی می مونه که اون زمان رو توی php.ini می تونی تنظیمش کنی (فکر کنم session.cookie_lifetime ) . وقتی زمانه ثبتو داشته باشی همه چی حله دیگه !
آی دی هم که داری و می دونی کدوم سشنه.محسن جان، دقیقا بگو چی رو می خوای بدونی تا به همون مورد جواب بدیم... الان هزار تا قضیه اومده وسط!!
:)
چشم.
من میخواستم بدونم در حال حاضر چند تا سشن فعال هست؟ و شناسه ی اونها چیه؟
و منظورم از فعال بودن این بود که کدامیک از سشن ها در حال استفاده هستن (یعنی کاربر هنوز مرورگرش رو نبسته).
اما طبق مسائلی که مطرح شد، متوجه شدم که با بسته شدن مرورگر سشن پاک نمیشه، بلکه آی دی اون دیگه با مرورگر مرتبط نیست، بنابراین اگر یک بار دیگه مرورگر باز بشه و بیات توی سایت، یه آی دی دیگه بهش تعلق میگیره و سشنی که باهاش سر و کار داره، یک سشن جدید هست.
بنابراین سشنهایی که هم اکنون مقدار دارن، اون سشنهایی نیستن که من میخواستم.
بنابراین نمیتونم به جواب سؤالم برسم.
این چیزی بود که من فهمیدم.
ولی تا حدودی همین نکات به دردم خوردن، از تمامی دوستان ممنون.
موفق باشید.
۱- شاخهء /tmp (یا شاخه ای که سشن ها داخلش ریخته می شن) رو ازش لیست می گیری.
۲- فایل هایی که با sess_ شروع می شن و رو پیدا می کنی. (ر.ج: به پاورقی ۱)
۳- عبارت بعد از sess_ شمارهء شناسهء اون سشن است.
پاورقی ۱: هیچ راهی برای اینکه بفهمی واقعا یک سشن زنده است یا نه، نداری. باید به این بسنده کنی که اگر فایلی اونجا وجود داره، پس حتما اون سشن فعال است! یعنی اگر کاربرت سشن رو بسته باشه، {بسته به برنامه نویسی شما احتمالا} سشن پاک شده، وگرنه فقط مرورگر رو بسته و فرداش هم مرده و دیگه لاگین نشده، سشن روی سرور می مونه و تو نمی فهمی که طرف هست یا نه... مگر اینکه زمان gc فرا برسه و اون سشن رو پاک کنه)
gc = garbage collector
ایمیل من
سایت من
عضویت در جامعهی اهدای عضو
Direct PGP key: http://tinyurl.com/66q5cy
PGP key server: keyserver.ubuntu.com
PGP name to search: omidmottaghi
چطور میشه این کارو کرد؟ چندان ساده بنظر نمیرسه۱- شاخهء /tmp (یا شاخه ای که سشن ها داخلش ریخته می شن) رو ازش لیست می گیری.
چه استفاده ای میشه ازش کرد؟ یا درستترش اینکه، چطور میشه ازش سواستفاده کرد (که نزاریم بکنن)۳- عبارت بعد از sess_ شمارهء شناسهء اون سشن است.
RTFMچطور میشه این کارو کرد؟ چندان ساده بنظر نمیرسه
چیکار بکنن؟؟ چیکار نکنن؟!!چه استفاده ای میشه ازش کرد؟ یا درستترش اینکه، چطور میشه ازش سواستفاده کرد (که نزاریم بکنن)
در حالت عادی نمی شه سوء استفاده کرد!!
ایمیل من
سایت من
عضویت در جامعهی اهدای عضو
Direct PGP key: http://tinyurl.com/66q5cy
PGP key server: keyserver.ubuntu.com
PGP name to search: omidmottaghi