PDA

View Full Version : جلوگیری از کلید برگشت مرورگر



viper2009
یک شنبه 03 مرداد 1389, 13:48 عصر
سلام

وقتی کاربر از صفحه کاربریش خارج میشه به صفحه ورود یا هر صفحه دیگری هدایت میشه
اما اگر دکمه برگشت مرورگر را بزنه دوباره می تونه در صفحه کاربریش قرار بگیره که یک خورده ایراد داره از نظره امنیتی

چطوری از این عمل جلوگیری کنم؟

alihassanabadi
یک شنبه 03 مرداد 1389, 14:45 عصر
سلام
نه اينجوري نيست بستگي به كدي داره كه توي Page_Load()
صفحه ها نوشته ميشه
در كل به برنامه نويس مرتبط ميشه كه ميتونه كدي بنويسه كه از ورود كاربر جلوگيري كنه

viper2009
یک شنبه 03 مرداد 1389, 18:10 عصر
سلام

با Session درست کردم
در عمل درسته

یعنی وقتی کاربر خارج میشه هدایت میشه به صفحه ورود و در صورتی که کلید برگشت را بزنه
دوباره در صفحه کاربریش هست ولی نمی تونه عملی را انجام بده چون session را حذف کردم و باید دوباره وارد بشه

ولی من می خواستم کلاً وارد صفحه کاربریش نشه

Peyman.Gh
یک شنبه 03 مرداد 1389, 18:13 عصر
سلام

با Session درست کردم
در عمل درسته

یعنی وقتی کاربر خارج میشه هدایت میشه به صفحه ورود و در صورتی که کلید برگشت را بزنه
دوباره در صفحه کاربریش هست ولی نمی تونه عملی را انجام بده چون session را حذف کردم و باید دوباره وارد بشه

ولی من می خواستم کلاً وارد صفحه کاربریش نشه

در مرورگر IE فکر میکنم میشود کاری کرد که کاربر هنگام زدن دکمه برگشت به یک صفحه دیگر هدایت شود.

viper2009
یک شنبه 03 مرداد 1389, 18:21 عصر
سلام Peyman.Gh (http://barnamenevis.org/forum/member.php?u=121278)

من از فیلم آموزشی Session که خودتون در بخش مقالات قرار داده بودید البته با تبدیل به وی بی برای ورود و خروج استفاده کردم

آیا درسته یا نه؟ از لحاظ امنیتی
یعنی این مشکل برگشتی که گفتم اشکال داره یا خیر؟

Peyman.Gh
یک شنبه 03 مرداد 1389, 18:32 عصر
http://barnamenevis.org/forum/showpost.php?p=912993

viper2009
یک شنبه 03 مرداد 1389, 18:47 عصر
http://barnamenevis.org/forum/showpost.php?p=912993

خوشم میاد که می دونیم پاخ سوالم چیست.

ولی در کل این حال خیلی ضایع است

تو سایت ایستگاه که وارد شدم و خارج شدم این عمل را امتحان کردم ولی صفحه بر نمی گرده و خطا می ده

البته نمی دونم Session زبان PHP با ASP.Net فرق می کنه یا نه یا اینکه از دیگر روشها استفاده کرده است.

alihassanabadi
دوشنبه 04 مرداد 1389, 09:27 صبح
سلام
دوست گرامي طبق گفته دوستان هيچ مشكلي نداره فقط يه سري تگ مشاهده ميشه كه كاربر نميتونه هيچ كاري انجام بده
ولي در كل اين روش خوب نيست
و اما جواب
شما ميخوايد بعد از اين كه كاربر خارج شد ديگه نتونه به صفحه قبل برگشت كنه
اين كار با يه if كوچيك امكان پذيره
به اين صورت كه شما بعد از ورود كاربر يه سشن بساز و مقدارش رو يك كن به اين صورت
البته بعد از اينكه صحت كاربر بررسي شد و چنين كاربري وجود داشت


Session.Add("adminticket", "1");

بعد تو page_load تمام صفحاتي كه ميخواي دسترسي غير مجاز نداشته باشه بيا سشن رو چك كن اگه مخالف يك بود به صفحه اي كه ميخواي هدايتش كن
كد:


Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.Now);
try
{
if (Session["adminticket"].ToString().Trim() != "1")
{
Response.Redirect("~/Admin/login.aspx");
}

}
catch
{
Response.Redirect("~/admin/login.aspx");
}

نكته كليديش اينه


Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.Now);

و نكته آخر شما بعد از اينكه كاربر خارج شد يعني بعد از كليك بر روي لينك خروج مثلا به صفحه ي خروج يا همون singout هدايتش ميكني
و تو page_load ش تمام سشن هاي مربوط به كاربر رو حذف كن


Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.Now);
try
{
if (Session["adminticket"].ToString().Trim() != "1")
{
Response.Redirect("~/Admin/login.aspx");
}
else
{
Session.Abandon();
//or
//Session["adminticket"] = "0";
}
}
catch
{
Response.Redirect("~/admin/login.aspx");
}


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