2

Я разрабатываю сайт asp.net & Я не использую встроенные средства проверки подлинности asp.net.«Назад» - браузер не должен заходить на предыдущую страницу - после выхода из системы

Я создал вручную таблицы для пользователей для сайта.

То, что я хочу, это следующим образом

  • После входа в систему пользователь может получить доступ к страницам (что уже сделано)
  • Когда пользователь нажимает кнопку выхода. (пользователь переходит на конкретную страницу - пример - default.aspx)
  • ** Теперь, когда пользователь нажимает кнопку «назад» браузера, он не должен перейти на предыдущую страницу. ** (это делается на страницах yahoo). Я хочу реализовать то же самое.)

Пожалуйста, сообщите мне, если это дубликат вопроса.

Заранее благодарю вас за смиренную помощь.

Сагар.

ответ

2

Чтобы запретить пользователям просматривать предыдущую страницу при нажатии на кнопку возврата вам необходимо настроить браузер не кэшировать эту страницу:

Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); 
Response.Cache.SetValidUntilExpires(false); 
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetNoStore(); 

Вы можете поместить этот код во всех прошедших проверку подлинности страниц, тем самым предотвращая их кэшируется в клиентских браузерах.

+0

yep. правильное и короткое решение. Великий.вы "отлично" –

1

Для того чтобы страница не была кэширована, браузеру необходимо соответствующим образом отвечать на инструкции кэширования, но нет гарантии, что это будет работать в каждом браузере! (Соответственно, злой человек может написать свой собственный браузер, чтобы игнорировать кеширующую информацию или написать прокси, чтобы разбить его ...)

Таким образом, вы не можете заставить это работать в 100% случаев, но вы всегда сталкиваюсь с проблемой, что пользователь может легко сделать снимок экрана, распечатать страницу, сохранить копию на своем диске и т. д., как только вы сами их доложили ...

1

ответ для вас вопрос:

  • для Когда пользователь нажимает выйти. (пользователь переходит на конкретную страницу - пример - default.aspx) вы можете добавить ссылку LinkButton as Signout и в обработчик события click вы можете написать Response.Redirect («Default.aspx»);

  • для Теперь, когда пользователь нажимает кнопку «назад» кнопки браузера Она не должна перейти на предыдущую страницу // добавьте следующий код в код позади страницы

    защищены переопределение недействительным OnPreRender (EventArgs е)

    {

    base.OnPreRender(e); 
    string strDisAbleBackButton; 
    strDisAbleBackButton = "<script language="javascript">\n"; 
    strDisAbleBackButton += "window.history.forward(1);\n"; 
    strDisAbleBackButton += "\n</script>"; 
    ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "clientScript", strDisAbleBackButton); 
    

    }

см. Csharpdotnetfreak.blogspot.com

Смежные вопросы