powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Таки наступил на грабли с Session(почтенная публика предупреждала)
28 сообщений из 28, показаны все 2 страниц
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116763
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
<sessionState mode="InProc" timeout="10"/>


Вот тут приходит недопонимание процессов. Ловлю Session_End(), мечтаю перенаправить на default.aspx. Как оказалось - низзя. Что покурить на эту тему? Или ловить глобальную ошибку?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116767
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczут приходит недопонимание процессов. Ловлю Session_End(), мечтаю перенаправить на default.aspx.
А зачем нужен отлов этого события? Типа сессия закончилась, чтобы автоматом на LogIn страницу перенаправляло?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116782
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось так.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116795
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,

вот тебе понимание:

веб это: отправил-получил

после «получил» не имеет значения чё там у сервера происходит, протухла сессия, заболела кошка у админа, произошёл апокалипсис в серверной.

кого и куда ты там собрался перенаправлять со стороны сервера? нет никого.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116801
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

хранить состояние на сервере?

Проблема в чем - я передаю параметр для открытия новой страницы. Сохраняню его в Session. Параметр суть параметр для выборки из БД. Юзер пользует страницу, через какое-то время уходит в браузере на другую вкладку и про открытую "мою" забывает. Ясно-понятно при попытке шевелится потом на странице ловим исключение типа "не задана ссылка на объект" - все похерилось при попытке чтения Session[someMotherFucker]
Что бывалый люд посоветует? sessionmode=SQLServer? С сиквелом знаком хорошо, но не будет ли траблов с правами доступа? Application pool у меня сейчас стартует от системной учетки - т.о. имеет все права на сиквеле.
?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116806
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот как например ресурсы сообщают, что "данные нектуальны blah-blah-blah". Ну, вернее не как, а каков механизм определения, что пора сообщить?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116812
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczхранить состояние на сервере?

я говорил исключительно про событие на стороне сервера, а не про состояние -- его как раз можно хранить сколько угодно и где угодно.


waszkiewiczПроблема в чем - я передаю параметр для открытия новой страницы. Сохраняню его в Session. Параметр суть параметр для выборки из БД.

постарайся избегать таких подходов. либо сохраняй параметр в URL, либо в куки, или СУБД, а URL/куках только ID, если это секьюрно. использование Session -- это однозначные грабли, проблемы и боль, не используй его.

не стоит также использовать Session даже с хранением где-нибудь в БД или в файлах. проблем от этого меньше не становится, а только увеличивается.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116815
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczвот как например ресурсы сообщают, что "данные нектуальны blah-blah-blah". Ну, вернее не как, а каков механизм определения, что пора сообщить?

зачастую это неоправданное решение.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116819
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

ну вот к примеру интернет-банк сообщает, что данные устарели и предлагает вернуться на страницу авторизации (при превышении таймаута). Как нюхают и реализуют механизм перехода?

Сохранять id в url - я так сейчас делаю (возможно, неверно - разобраться охота) в Page_Load

Код: c#
1.
Session["id"] = int.Parse(Request.QueryString["DIRNo"]);



а потом Session["id'] пользую для запросов к БД
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116879
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczhVostt,

ну вот к примеру интернет-банк сообщает, что данные устарели и предлагает вернуться на страницу авторизации (при превышении таймаута). Как нюхают и реализуют механизм перехода?
В общем случае прилетает запрос, веб-сервер (не обязательно IIS) пихает в него переменные откружения и начинает вызывать зарегистрированные модули.
Какой-то из них понимает, что данные устарели и заворачивает цикл обработки запроса, ещё на раннем этапе, редиректом на страницу авторизации.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116880
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczну вот к примеру интернет-банк сообщает, что данные устарели и предлагает вернуться на страницу авторизации (при превышении таймаута). Как нюхают и реализуют механизм перехода?
Javascript крутитится и каждые 1-5-20-60 секунд запрашивает сервер на истечение сессии. Если так, то перенаправляет на Log In страницу.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116881
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczСохранять id в url - я так сейчас делаю (возможно, неверно - разобраться охота) в Page_Load

Код: c#
1.
Session["id"] = int.Parse(Request.QueryString["DIRNo"]);



а потом Session["id'] пользую для запросов к БДИ что это за id такой магический? Как он связан с логином и авторизацией?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116884
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczа потом Session["id'] пользую для запросов к БД
Не знаю как это соотносится к контролю истечения сессии, но если я правильно понял, у тебя крупная брешь в безопасности сайта...
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39116943
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczа потом Session["id'] пользую для запросов к БД

перед тем, как сделать запрос к БД, убедись, что у тебя в Session["id"] что-то есть. если нет, гоу пользователя на страницу боли и печали о том, что данные устарели. если уж так хочется сессии.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39117262
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttwaszkiewiczа потом Session["id'] пользую для запросов к БД

перед тем, как сделать запрос к БД, убедись, что у тебя в Session["id"] что-то есть. если нет, гоу пользователя на страницу боли и печали о том, что данные устарели. если уж так хочется сессии.
А ты вообще понял зачем ТС делает это?
Код: c#
1.
Session["id"] = int.Parse(Request.QueryString["DIRNo"]);


Для меня лично смысл данной операции и решения скрыт где-то глубоко и далеко... Ну, если я чего-то не допонял, то, хотя бы, надеюсь, значение DIRNo как-то шифруется, если гоняется в квери стринге, хотя, если честно, то это все бред...
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39117674
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

не прикапывайся )) человеку ещё по гроблям идти
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39117994
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

как настоящие индейцы передают параметры между страницами? Выбрал я на одной странице позицию - на другой хочу получить детали
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39117995
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и зачем шифровать id?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118056
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczAxeleron,

как настоящие индейцы передают параметры между страницами? Выбрал я на одной странице позицию - на другой хочу получить детализайди на ozon.ru, выбери книжку, добавь в корзину, проверь через час почту, открой письмо с заголовком "Вы хотели сделать заказ?"
перейди по ссылке из письма в свою корзину на ozon.ru, открой детали выбранной час назад книжки

Короче: настоящие индейцы используют БД... А где-то куки, а где-то сессию

Может расскажешь уже, что за задача?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118057
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczи зачем шифровать id?за хлебом :)

Так как ты не можешь толком объяснить, что делаешь, люди предполагают, что ты делаешь небезопасную фигню.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118097
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAwaszkiewiczAxeleron,

как настоящие индейцы передают параметры между страницами? Выбрал я на одной странице позицию - на другой хочу получить детализайди на ozon.ru, выбери книжку, добавь в корзину, проверь через час почту, открой письмо с заголовком "Вы хотели сделать заказ?"
перейди по ссылке из письма в свою корзину на ozon.ru, открой детали выбранной час назад книжки

Короче: настоящие индейцы используют БД... А где-то куки, а где-то сессию

Может расскажешь уже, что за задача?
использовать БД, для того чтобы сохранить id , потом его прочитать и снова сделать выборку?

Задача простая - на одной странице помимо всего прочего есть некий список. Мечтается на другой странице открыть подчиненные записи и кучу всего остального
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118135
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczskyANAпропущено...
зайди на ozon.ru, выбери книжку, добавь в корзину, проверь через час почту, открой письмо с заголовком "Вы хотели сделать заказ?"
перейди по ссылке из письма в свою корзину на ozon.ru, открой детали выбранной час назад книжки

Короче: настоящие индейцы используют БД... А где-то куки, а где-то сессию

Может расскажешь уже, что за задача?
использовать БД, для того чтобы сохранить id , потом его прочитать и снова сделать выборку?Нет, сохранить в БД состояние бизнес-транзакции, а не тупо ID.

waszkiewiczЗадача простая - на одной странице помимо всего прочего есть некий список. Мечтается на другой странице открыть подчиненные записиХм, тупо в списке есть ссылка, где в query string указан id. Например такая: <a href="/DetailsOfSomething?id=345">View details</a> .

waszkiewiczи кучу всего остальногоЧего остального? Не тяните резину.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118192
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

хранить состояние транзакции. Начинаю понимать. В где поподробнее глянуть?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118197
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про ссылку - а чем это отличаеся от того, что делаю я?
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118277
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczпро ссылку - а чем это отличаеся от того, что делаю я?Тем что у тебя пока только мечтается, а у других тупо открывается страница с детализаций, соответсвующей указанному в query string идентификатору.
И без всяких сохранений последнего в сессию.

Иными словами по ссылке - это прямое решение задачи, а сессия - это, грубо говоря, через одно место.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118312
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczпро ссылку - а чем это отличаеся от того, что делаю я?
Зачем запихивать значение id из query string в сессию? Перешли на страницу, передали id в query string, вынули из БД по id то что нужно и забыли.
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39118375
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz, в общем, никому тут пока неясно зачем тебе нужно хранить id в сессии, а вопрос-то, если кто забыл, чтоял так: 18494231
...
Рейтинг: 0 / 0
Таки наступил на грабли с Session(почтенная публика предупреждала)
    #39119134
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, откопал одно из первых приложений, что писал на WebForms

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
using System;
using System.IO;
using System.Web;
using System.Web.UI;

namespace Application.Web.UI
{
    public class BasePage : Page
    {
        protected bool allowDisconnected;
        protected SessionController session;

        protected override PageStatePersister PageStatePersister
        {
            get { return new SessionPageStatePersister(this); }
        }

        protected override void OnInit(EventArgs e)
        {
            session = Session[SessionKey.SessionController] as SessionController;

            if (session == null)
            {
                // Если пришёл Ajax запрос в обход стандартного механизма, то в ответ ничего не возвращаем,
                // в этом случае страница должна редиректится на LogIn.aspx.
                if (Convert.ToBoolean(Request[QueryStringKey.OutOfBand]))
                {
                    Response.StatusCode = 401; // 401 (неавторизованный запрос) Запрос требует проверки подлинности
                    Response.Flush();
                    Response.End();
                }

                Response.Redirect(UrlKey.LogInPage);
            }

            switch (session.State)
            {
                case SessionState.Disconnected:
                    if (allowDisconnected)
                        break;
                    Response.Redirect(UrlKey.LogInPage);
                    return;
            }

            base.OnInit(e);
        }
    }
}


Страницы наследуются от BasePage и где бы сессия не протухла, редирект на LogIn .
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Таки наступил на грабли с Session(почтенная публика предупреждала)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]