PDA

View Full Version : سوال: سشن



yoshika
پنج شنبه 22 اسفند 1387, 23:23 عصر
<?php
session_start();
session_register('visit_count');
?>
<HTML><HEAD><TITLE>Greetings</TITLE></HEAD>
<BODY>
<H2>Welcome to the Center for Content-free Hospitality</H2>
<?php
if (!IsSet($_SESSION['visit_count'])) {
echo"Hello, you must have just arrived.
Welcome!<BR>";
$_SESSION['visit_count'] = 1;
}
else {
$visit_count = $_SESSION['visit_count'] + 1;
echo "Back again are ya? That makes $visit_count times now ".
"(not that anyone’s counting)<BR>";
$_SESSION['visit_count'] = $visit_count;
echo "$session_id";
}
$self_url = $_SERVER['PHP_SELF'];
$session_id = SID;
if (IsSet($session_id) &&
$session_id) {
$href = "$self_url?$session_id";
echo "$session_id";
}
else {
$href = $self_url;
}echo "$session_id";
echo "<BR><A HREF=\"$href\">Visit us again</A> sometime<br>";
?>
</BODY></HTML>
با سلام خدمت دوستان عزیز
هدف من از نوشتن کد بالا این بود که پس از هر بار مراجعه به کد مذکور یکی به تعداد ویزیت ها اضافه شود و پس از بستن و رجوع مجدد دوباره به مقدار قبلی ویزیت ها دوباره اضافه شود ولی کد فوق پس از هر بار بستن browser و رجوع مجدد شمارش را از صفر شروع میکند
اشکال از کجاست session id به درستی ذخیره نمیشود
یا اشکالی در browser وجود دارد؟
و در کل برای رسیدن به این هدف چه کاری انجام دهم؟

as13851365
دوشنبه 26 اسفند 1387, 07:09 صبح
دوست عزیز کار سیشن رو دقیقا شما نگرفتید !

کار و مزیت اصلی سیشن این است که با بستن پنجره اطلاعات سیشن هم می پره

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

persian_farvahar
دوشنبه 26 اسفند 1387, 23:03 عصر
دوست عزیز کار سیشن رو دقیقا شما نگرفتید !

کار و مزیت اصلی سیشن این است که با بستن پنجره اطلاعات سیشن هم می پره

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

مثل اینکه شما نگرفید کار سشن چیه!
سشن تا وقتی که از بین نره اطلاعات رو نگه میداره

در اصل ID سشن از درست مرورگر میپره و باید با یک الگوریتم خاص Session id رو خودتون دستی بهش بدید تا اینجوری نشه.
اصلآ تا حالا فکر کردید چرا به سشن مسیر میدن.

در مورد سوال دوستمون اینکه شما باید سشن بازدید را به صورت یک آرایه در نظر بگیرید تا بتوانید در دفعات بعدی از اطلاعات قبلی هم استفاده کنید.
حالا

امید امرایی
دوشنبه 26 اسفند 1387, 23:36 عصر
مثل اینکه شما نگرفید کار سشن چیه!
سشن تا وقتی که از بین نره اطلاعات رو نگه میداره
حالا

همونطور که as13851365 (http://barnamenevis.org/forum/member.php?u=35098) عزیز فرمودن نشست ها با بسته شدن مرورگر از بین می رن.



اصلآ تا حالا فکر کردید چرا به سشن مسیر میدن.

وجود مسیر چه کمکی به حل مسئله می کنه ؟
همونطور که در اون مسیر ایجاد می شن به همون شکل هم از بین می رن و اصلا نشست ایجاد شده تا از بین بره.



در مورد سوال دوستمون اینکه شما باید سشن بازدید را به صورت یک آرایه در نظر بگیرید تا بتوانید در دفعات بعدی از اطلاعات قبلی هم استفاده کنید.
حالا

مطلقا برای این منظور از SESSION استفاده نمی کنن دوست عزیز.
بعضا و به ندرت از طریق کوکی و عموما در پایگاه داده ذخیره می کنن.
گاهی هم برای سایت بسیار پر بازدید در فایلی بر روی سرور.

persian_farvahar
سه شنبه 27 اسفند 1387, 07:54 صبح
همونطور که as13851365 (http://barnamenevis.org/forum/member.php?u=35098) عزیز فرمودن نشست ها با بسته شدن مرورگر از بین می رن.
نه دوست من از بین نمیره.
بلکه سشن آی دی که دست مرورگره از بین میره و مرورگر دیگه نمیتونه بهش دسترسی داشته باشه.
ببینید دوست عزیز این session id مثل یه دستگیره برای مرورگر میمونه که از طریق اون سشن رو پیدا میکنه و محتوای اونرور تغییر و یا میخونه.
این id از طریق یع الگذ.ریتم که با md5 هش میشه به عنوان یه کوکی به مرورگر داده میشه.
حالا وقتی مرورگر بسته میشه دیگه id رو از دست میده و شما فکر میکنید که از بین رفته.
خوب اگه خود session با بسته شدن مرورگر از بین میره پس چرا براش expire میزارن؟؟؟

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


مطلقا برای این منظور از SESSION استفاده نمی کنن دوست عزیز.
بعضا و به ندرت از طریق کوکی و عموما در پایگاه داده ذخیره می کنن.
گاهی هم برای سایت بسیار پر بازدید در فایلی بر روی سرور.
من سوال ایشون رو درست نخونده بودم و به خاطر این گفتم آرایه ای باشه.
ولی باز هم میتونن از همون سشن استفاده کنن و یه متغیر سشن معمولی ولی به نظرم اگه زاید ازش استفاده بشه ترافیک سیات میره بالا و این خوب نیست

narsic
سه شنبه 27 اسفند 1387, 12:16 عصر
نه دوست من از بین نمیره.
بلکه سشن آی دی که دست مرورگره از بین میره و مرورگر دیگه نمیتونه بهش دسترسی داشته باشه.
ببینید دوست عزیز این session id مثل یه دستگیره برای مرورگر میمونه که از طریق اون سشن رو پیدا میکنه و محتوای اونرور تغییر و یا میخونه.
این id از طریق یع الگذ.ریتم که با md5 هش میشه به عنوان یه کوکی به مرورگر داده میشه.
حالا وقتی مرورگر بسته میشه دیگه id رو از دست میده و شما فکر میکنید که از بین رفته.
خوب اگه خود session با بسته شدن مرورگر از بین میره پس چرا براش expire میزارن؟؟؟


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

ayub_coder
شنبه 14 فروردین 1389, 13:02 عصر
سلام دوستان میشه یه نمونه از اون حالتی که گفتید سشن با بسته شدن مرورگر هم از بین نره رو مثال بزنید؟:متفکر:
ممنون