• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

پیش فرض امنیت در session

Reza

متخصص بخش اسکریپت
با سلام همونطور که میدونین session وقتی با ;()session_start سشن رو فعال کردیم پی اچ پی توی session data store میگرده اگه آدی سشن(session identifier) توی session data store بود که اجازه استفاده از متغیرهای اون session رو میده اگر نبود یه SID جدید برمیگردونه. حالا سوال من روی همین SID هست. برای انتقال SID چند راه وجود داره پیش فرض session استفاده از کوکیه یعنی PHPSESSID رو برابر SID برمیگردونه و تا در صفحات دیگه هم session داشته باشیم اما اگه کاربر کوکی ها رو غیر فعال کرده باشه این راه cancel میشه و بعضی از مرورگرها هم با کوکی مشکل دارن و پشتیبانی نمی کنن
راه دوم استفاده از url هستش که باید session.use_trans_sid توی php.ini برابر 1 باشه تا تو صفحات دیگه هم session داشته باشیم حالا اگه session.use_trans_sid برابر 0 باشه این راه هم فایده ای نداره.
دو راه دیگه برا انتقال SID میمونه
1- استفاده از این روش
فرض کنیم که در صفحه 1.php هستیم و این هم لینک صفحه 2 هستش
<a href="2.php? <?php echo SID; ?>">page 2</a>
در اینجا تابع SID آی دی سشن رو به url اضافه میکنه که از لحاظ امنیتی خطرناکه که SID تو URL باشه.

اینطوری به صفحه بعد SID انتقال داده میشه و session داریم

2- استفاده از فیلدهای پنهان و $_POST
یه فیلد hidden میذاریم
sid=session_id();
و <"input type="hidden" name="sid" value="$sid>

آموزش session و امنیت آن :

http://amir87.persiangig.com/documen...20fixation.pdf

Download - Session.pdf - Persiangig

مقالات، آموزشها،و...
 
بالا