У меня есть проблема с моей страницей, когда я закрываю сеанс, я разрушаю переменные сеанса, если я возвращаю в предыдущую страницу со стрелой браузера образец моя страница "меню", у которого уже есть утверждение, который не, если переменные сеанса пустые (эта проблема, которая у меня есть), я проверил, что, когда я обновляю мою страницу "меню", немедленно он реализует, что я хочу, чтобы он пошел в страницу logueo, работаю с Вебом pages рисунка и контента (сходный со степенью магистра pages) в vb.net
If Not Page.ispostback Then
If Session("nombre") Is Nothing And Session("numero") Is Nothing Then
Response.Redirect("~/Index.aspx")
Else
PageData("Title") = "Escriba el título aquí"
Layout = "_Layout.vbhtml"
End If
End If
Мне кажется, что проблема состоит в том, что ты не удаляешь правильно переменные сеанса.
Уверь, чтобы удалять переменные:
Session.Remove("nombre")
Session.Remove("numero")
Чтобы удалять все:
Session.Clear();
Реализовав это ты сможешь находить, что переменные удалены правильно:
If (Session("nombre") Is Nothing And Session("numero") Is Nothing) Then
Response.Redirect("~/Index.aspx")
...
...
...
Уверь, что использованный класс HttpContext.Current.Session
.
Что aconsejarГ - в es, что ты не использовал объект Session, чтобы осуществлять безопасность в твоем веб сайте, ты должен использовать безопасность asp.net
здесь
Login – Используя Password с Hash
, я объясняю, как ты мог бы делать это такими
Как первый шаг defiens в web.config
<authentication mode="Forms">
<forms name="appNameAuth" path="/" loginUrl="frmLogin.aspx" defaultUrl="Default.aspx" protection="All" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
, ты заверяешь Себя используя
FormsAuthentication.RedirectFromLoginPage(txtUser.Text, chkPersistLogin.Checked);
, Чтобы реализовывать logoff ты использовал бы
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
так простого это redirecciona в login и он не позволит, чтобы ты ввел информацию в компьютер в другую страницу, а заверен
Использовать Session
для безопасности - наихудшая идея
Я думаю, что то, что происходит, состоит в том, что браузер сохраняет в закоулке твою страницу меню. Это способствовало бы, тому, чтобы, закрыв сеанс и вернувшись в предыдущую страницу, браузер не реализовал просьбу в сервер и показал версию, которую он считает обысканной.
Ты мог бы подтверждать это открывая программные средства разработки браузера и подтверждая в сетевых просьбах заголовки ответа, который они показывают в браузер, если страница - cacheable и как
Если ты будешь наблюдать изображение, соответствующее просьбе S.O., они увидят, как заголовки показывают, что не был обыскан
Чтобы способствовать тому, чтобы твоя страница не была обыскана, они должны добавляться этот код в твою страницу (например в Page_Init
) (код, полученный от этого ответа S.O на английском)
'Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache)
'Stop Caching in Firefox
Response.Cache.SetNoStore()
Конечно, я встречаюсь с Леандро Туттини в, который ты не был бы должен использовать переменные сеанса и меньше чтобы осуществлять безопасность.