PDA

View Full Version : به دست آوردن سشن های ثبت شده در سرور



tabib_m
چهارشنبه 31 مرداد 1386, 11:45 صبح
با سلام

چطوری میشه فهمید که الان چه سشن هایی در سرور ثبت شدن؟

( حد اقل session id ها رو به دست بیاریم، اطلاعات دیگه ، هر چی بیشتر بهتر :) )

ممنون

cybercoder
چهارشنبه 31 مرداد 1386, 12:03 عصر
اگه خودت رو سروری مسیر Session ها اگرم نیستی (به هرشکلی) که نمی تونی

tabib_m
چهارشنبه 31 مرداد 1386, 19:17 عصر
ممنون
خوب طبیعتا برنامه م داره رو سرور اجرا میشه.
اما توی فولدر مربوطه سشن های زیادی هست که مال الان نیستن!
در ضمن session_id رو چجوری میتونم ازشون در بیارم؟

و سؤال بعدی این که:
تاریخ ثبت سشن، همون تاریخ ساخته شدن فایل مذکوره دیگه؟

و مسئله ی بعدی این که:
توی یکی از هاست ها، نوشته که سشن ها در پوشه ی /tmp ذخیره شدن. ولی توی اون پوشه هیچ فایلی که مربوط باشه به سشن وجود نداره! اشتباه من کجاست؟

ممنون و موفق باشید.

oxygenws
چهارشنبه 31 مرداد 1386, 20:15 عصر
در ضمن session_id رو چجوری میتونم ازشون در بیارم؟
بخشی از اسم فایل، همون سشن آیدی است.


تاریخ ثبت سشن، همون تاریخ ساخته شدن فایل مذکوره دیگه؟
آره


توی یکی از هاست ها، نوشته که سشن ها در پوشه ی /tmp ذخیره شدن.
کجاش نوشته؟

tabib_m
چهارشنبه 31 مرداد 1386, 21:02 عصر
ممنون.

بخشی از اسم فایل، همون سشن آیدی است.
چه بخشی؟ قابل جداسازی هست یا نه؟ (فکر نمیکنم قابل جداسازی نباشه!)


کجاش نوشته؟


phpinfo();


قضیه ی این چیه؟

اما توی فولدر مربوطه سشن های زیادی هست که مال الان نیستن!
(این مورد ، در قسمت /tmp در easyphp ای هست که روی سیستم خودم نصبه)
نمیشه سشن هایی که همین الان فعال هستن رو به دست آورد؟

ممنون

موفق باشید

jhoseinii
چهارشنبه 31 مرداد 1386, 21:09 عصر
توی یکی از هاست ها، نوشته که سشن ها در پوشه ی /tmp ذخیره شدن.
فکر میکنم این آدرس قابل تغییر باشه از طریق php.ini یا ini_set
متن زیر رو از این کتاب (http://www.dokumania.com/ebook/php/php-security-guide.pdf) میزارم براتون:


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/ اطلاعات توی دیتابیس ذخیره بشه

cybercoder
پنج شنبه 01 شهریور 1386, 00:02 صبح
اما توی فولدر مربوطه سشن های زیادی هست که مال الان نیستن!

وقتی بدون destroy کردن session از صفحه خارج شوید تا زمان انقضا باقی می مونه

musiox
پنج شنبه 01 شهریور 1386, 17:20 عصر
شسن ها رو با شناسه و زمانشون تو دیتا بیس ذخیره کن .

tabib_m
پنج شنبه 01 شهریور 1386, 18:01 عصر
فکر میکنم این آدرس قابل تغییر باشه از طریق php.ini یا ini_set
میدونم، مشکلم با تغییر فولدر نیست، مسئله اینجاس که هم اکنون سشن ها کجا دارن ذخیره میشن؟


وقتی بدون destroy کردن session از صفحه خارج شوید تا زمان انقضا باقی می مونه
ممنون. یعنی اگر یک نفر session id رو داشته باشه، توی این مدت زمان میتونه به همون سشن های قبلی دسترسی پیدا کنه؟ (حتی اگر مرورگر از طرف کاربر اول ، بسته شده باشه)


شسن ها رو با شناسه و زمانشون تو دیتا بیس ذخیره کن .
به دردم نمیخوره، من میخواستم سشن هایی رو به دست بیارم که همین الان فعال هستن.
اما مثل این که بر اساس گفته ی جناب vahidAM نمیشه از این مسئله مطمئن شد...

در هر صورت، ممنون.

موفق باشید.

oxygenws
پنج شنبه 01 شهریور 1386, 20:51 عصر
محسن جان، دقیقا بگو چی رو می خوای بدونی تا به همون مورد جواب بدیم... الان هزار تا قضیه اومده وسط!!

musiox
پنج شنبه 01 شهریور 1386, 23:19 عصر
یعنی چی فعالن؟ خب هر سشنی تا یه مدت زمان معینی روی سرور باقی می مونه که اون زمان رو توی php.ini می تونی تنظیمش کنی (فکر کنم session.cookie_lifetime ) . وقتی زمانه ثبتو داشته باشی همه چی حله دیگه !
آی دی هم که داری و می دونی کدوم سشنه.

tabib_m
جمعه 02 شهریور 1386, 13:12 عصر
یعنی چی فعالن؟ خب هر سشنی تا یه مدت زمان معینی روی سرور باقی می مونه که اون زمان رو توی php.ini می تونی تنظیمش کنی (فکر کنم session.cookie_lifetime ) . وقتی زمانه ثبتو داشته باشی همه چی حله دیگه !
آی دی هم که داری و می دونی کدوم سشنه.


محسن جان، دقیقا بگو چی رو می خوای بدونی تا به همون مورد جواب بدیم... الان هزار تا قضیه اومده وسط!!


:)
چشم.

من میخواستم بدونم در حال حاضر چند تا سشن فعال هست؟ و شناسه ی اونها چیه؟
و منظورم از فعال بودن این بود که کدامیک از سشن ها در حال استفاده هستن (یعنی کاربر هنوز مرورگرش رو نبسته).
اما طبق مسائلی که مطرح شد، متوجه شدم که با بسته شدن مرورگر سشن پاک نمیشه، بلکه آی دی اون دیگه با مرورگر مرتبط نیست، بنابراین اگر یک بار دیگه مرورگر باز بشه و بیات توی سایت، یه آی دی دیگه بهش تعلق میگیره و سشنی که باهاش سر و کار داره، یک سشن جدید هست.
بنابراین سشنهایی که هم اکنون مقدار دارن، اون سشنهایی نیستن که من میخواستم.
بنابراین نمیتونم به جواب سؤالم برسم.

این چیزی بود که من فهمیدم.

ولی تا حدودی همین نکات به دردم خوردن، از تمامی دوستان ممنون.

موفق باشید.

oxygenws
جمعه 02 شهریور 1386, 13:26 عصر
۱- شاخهء /tmp (یا شاخه ای که سشن ها داخلش ریخته می شن) رو ازش لیست می گیری.
۲- فایل هایی که با sess_ شروع می شن و رو پیدا می کنی. (ر.ج: به پاورقی ۱)
۳- عبارت بعد از sess_ شمارهء شناسهء اون سشن است.

پاورقی ۱: هیچ راهی برای اینکه بفهمی واقعا یک سشن زنده است یا نه، نداری. باید به این بسنده کنی که اگر فایلی اونجا وجود داره، پس حتما اون سشن فعال است! یعنی اگر کاربرت سشن رو بسته باشه، {بسته به برنامه نویسی شما احتمالا} سشن پاک شده، وگرنه فقط مرورگر رو بسته و فرداش هم مرده و دیگه لاگین نشده، سشن روی سرور می مونه و تو نمی فهمی که طرف هست یا نه... مگر اینکه زمان gc فرا برسه و اون سشن رو پاک کنه)

gc = garbage collector

jhoseinii
جمعه 02 شهریور 1386, 15:34 عصر
۱- شاخهء /tmp (یا شاخه ای که سشن ها داخلش ریخته می شن) رو ازش لیست می گیری.
چطور میشه این کارو کرد؟ چندان ساده بنظر نمیرسهhttp://www.pic4ever.com/images/288.gif


۳- عبارت بعد از sess_ شمارهء شناسهء اون سشن است.
چه استفاده ای میشه ازش کرد؟ یا درستترش اینکه، چطور میشه ازش سواستفاده کرد (که نزاریم بکنن)http://www.pic4ever.com/images/164.gif

oxygenws
جمعه 02 شهریور 1386, 21:11 عصر
چطور میشه این کارو کرد؟ چندان ساده بنظر نمیرسه
RTFM (http://php.net/manual/en/)


چه استفاده ای میشه ازش کرد؟ یا درستترش اینکه، چطور میشه ازش سواستفاده کرد (که نزاریم بکنن)
چیکار بکنن؟؟ چیکار نکنن؟!!
در حالت عادی نمی شه سوء استفاده کرد!!