Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: POST запрос в ASP  (Прочитано 9291 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« : 22-02-2006 15:30 » 

Не подскажет ли кто, как можно серверным скриптом ASP осуществить Redirect на страницу так, чтобы данные передавались POST методом.

Или лучше о самой задаче.

Нужно передать странице, на которую осуществляется перенаправление, информацию, которую пользователь и настырный пользователь не должны увидеть, но наворченной защиты от хакеров не нужно.

Для это:
1) Информация не должна передаваться через URL.
2) Передаваемая информация не должна сохраняться в HTML-коде страницы, получаемой клиентом.

Общего движка для шифрования в ASP и ASP.NET, сколь мне известно, нет.
Сессии взаимно недоступны (см. мою предыдущую тему).
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 22-02-2006 17:36 » 

Редирект-POST невозможен.

Я вижу два решения:

1) Самому соединиться с тем сервером и передать ему эту секретную информацию. Конечно, и серверу и пользователю должен быть передан некий идентификатор, по которому удаленный сервер сможет связать это два соединения.
Минус очевиден: удаленный сервер должен иметь такую фичу.

2) Данные - через url, но удаленный сервер должен после приема запроса сделать редирект, да бы скрыть переданные данные.
Минус - тот же.

2.5) Тот же (2), но данные зашифровать. Пользователь не узнает о содержимом переданной информации. Шифрование не обязательно делать супер сложным. Кстати, реалтзацию SHA1 на js можно найти в движке нашего форума. Переписать на другой язык, я думаю, труда не составит.
https://forum.shelek.ru/Themes/default/sha1.js
Минус - тот же.

Мне дольше нравится (1) - больше секретности и гибкости.
Во всех описанных тут случаях нужно контролировать оба сайта.
« Последнее редактирование: 22-02-2006 17:42 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 23-02-2006 15:36 » 

Нет двух серверов, есть один сервер и одно Web-приложение, просто часть написана на ASP, а новая часть на ASP.NET.

Так как сессии и всё прочее раздельно, то можно считать, что это два разных приложения.

Если я вручную составлю и отправлю HTTP-запрос, ответ достанется не клиенту...

А может вообще через временный файл на диске передать, тогда в URL передавать имя временного файла...
« Последнее редактирование: 23-02-2006 15:38 от dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 28-02-2006 11:16 » 

В общем, через таблицу в БД передачу сделали. В таблицу пишется SessionID, Key, Value, RecipientCode, а в URL передаются SessionID и RecipientCode. Получатель читает множество пар Key/Value и удаляет их, Value передаётся потоком байтов.

Само собой, в случае нештатных ситуаций получатель не ответит и данные не удалит, тогда они будут копиться в таблице. Учитывая сравнительно низкую интенсивность работы в Intranet-приложении, это не критично. Для приложений с высокой интенсивностью работы можно добавить поле CreationTime и периодически чистить таблицу от очень старых записей, например, суточной давности.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 28-02-2006 19:50 » new

Логичное решение.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines