завершение сеанса не функционирует vb.net

У меня есть проблема с моей страницей, когда я закрываю сеанс, я разрушаю переменные сеанса, если я возвращаю в предыдущую страницу со стрелой браузера образец моя страница "меню", у которого уже есть утверждение, который не, если переменные сеанса пустые (эта проблема, которая у меня есть), я проверил, что, когда я обновляю мою страницу "меню", немедленно он реализует, что я хочу, чтобы он пошел в страницу 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
1
задан 17.02.2016, 19:24
3 ответа

Мне кажется, что проблема состоит в том, что ты не удаляешь правильно переменные сеанса.

Уверь, чтобы удалять переменные:

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.

0
ответ дан 24.11.2019, 14:52

Что 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 для безопасности - наихудшая идея

0
ответ дан 24.11.2019, 14:52

Я думаю, что то, что происходит, состоит в том, что браузер сохраняет в закоулке твою страницу меню. Это способствовало бы, тому, чтобы, закрыв сеанс и вернувшись в предыдущую страницу, браузер не реализовал просьбу в сервер и показал версию, которую он считает обысканной.

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

Revisar caché

Если ты будешь наблюдать изображение, соответствующее просьбе S.O., они увидят, как заголовки показывают, что не был обыскан

Чтобы способствовать тому, чтобы твоя страница не была обыскана, они должны добавляться этот код в твою страницу (например в Page_Init) (код, полученный от этого ответа S.O на английском)

'Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache)

'Stop Caching in Firefox
Response.Cache.SetNoStore()

Конечно, я встречаюсь с Леандро Туттини в, который ты не был бы должен использовать переменные сеанса и меньше чтобы осуществлять безопасность.

0
ответ дан 24.11.2019, 14:52