PDA

View Full Version : چگونگی عدم دسترسی به برخی از صفحات از طریق دکمه های back وforward



mkhozooie
جمعه 19 شهریور 1389, 01:38 صبح
سلام .
من در سیستم خود یک صفحه اصلی دارم که در این صفحه پس از وارد کردن یوزرنیم وپسورد میتوان لاگین شد وبه سایر صفحات رفت
حال مشکل اینجاست که من پس خروج از ان صفحات و ورود مجدد به صفحه اصلی، از طریق دکمه back و forward میتوانم صفحاتی را که قرار بود تنها از طریق لاگین شدن وارد شد رامشاهده کنم
باید چه کارکنم که از طریق این دکمه ها نتوان به این صفحات دسترسی داشت و امنیت حفظ شود .
در ضمن من برای انتقال اطلاعات کاربری بین صفحات از session استفاده کرده ام

aminghaderi
جمعه 19 شهریور 1389, 01:55 صبح
Cache بروزر رو با استفاده از کد پاک کنید.
قبلا دوستان بحث کردند ، یه سرچ بزنید.

mkhozooie
جمعه 19 شهریور 1389, 23:42 عصر
Cache بروزر رو با استفاده از کد پاک کنید.
قبلا دوستان بحث کردند ، یه سرچ بزنید.

میشه بیشتر راهنمایی کنید ،کدش را چه طوری باید نوشت ؟ سرچ هم کردم مبحث مرتبطی پیدا نکردم

Mostafa_Dindar
شنبه 20 شهریور 1389, 00:18 صبح
میتونید از کد زیر برای خالی کردن کش استفاده کنید :
IDictionaryEnumerator enumerator = HttpContext.Current.Cache.GetEnumerator();
List<string> itemsToRemove = new List<string>();
while (enumerator.MoveNext())
{

itemsToRemove.Add(enumerator.Key.ToString());
}
foreach (string itemToRemove in itemsToRemove)
HttpContext.Current.Cache.Remove(itemToRemove);
}
ولی رفتن صفحه ای که قبلا لاگین کرده بودید , ناقض امنیت نیست . زیرا تنها کسی میتوانید به اون صفحه برود که اکانت ویندوزی شما رو داشته باشد , و با همان مرورگر , به همان صفحه مراجعه کند . حال اگر این شرایط هم فراهم شد , میخواد از اون صفحه چه استفاده ای بکند ؟

alihassanabadi
شنبه 20 شهریور 1389, 12:21 عصر
دوست عزيز سلام
جواب سوال شما اينجاست

http://barnamenevis.org/forum/showthread.php?t=211255&page=2

http://barnamenevis.org/forum/showthread.php?t=235568
با تشكر

mkhozooie
جمعه 26 شهریور 1389, 01:31 صبح
راهنماییتون خیلی کمکم کرد ومساله دکمه back برطرف شد اما مشکل جدیدی به وجود اومده و و اون این که زمانی که برنامه در حال اجراست اگر برای چند لحظه ای باز باشه ولی کاری انجام ندم پیغام time out Expired را میده و من فکر میکنم علتش میتونه دستور Response.Cache.SetExpires(DateTime.Now);باشه اما نمیدونم باید چه طوری تغییرش داد.
لطفا راهنمایی کنید .ممنون