Передача параметра в метод POST без скрытого поля asp.net - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть метод post, в котором я хочу передать некоторый параметр, например student_id. Я могу сделать это с помощью скрытого поля, но я не хочу использовать скрытое поле. что-то вроде этого:

<form id="form1" action="post" src="https://mydomain.com?student_id=value">

Обратите внимание, что я пытаюсь скрыть информацию от URL. Я очень хорошо знаю HTML, так что не беспокойтесь о синтаксисе.

Кто-нибудь может мне помочь?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 17 мая 2012

Если вы беспокоитесь о том, чтобы показывать на стороне клиента часть конфиденциальных данных, ответ состоит в том, чтобы вообще не отправлять их.

Сохраните значение на своем сервере либо в хранилище данных, либо в кеше и передайтеключ к значению в форме.Так, например:

<form id="form1" action="post" src="https://mydomain.com">
    <input type="hidden" name="student-cache-key" value="23154546">

И затем, когда форма будет опубликована, вы будете искать 23154546 в своей таблице или кэше, чтобы получить значение ... (псевдо-код)

int studentId = cache.Get(post['student-cache-key']);
// studentId now equals 5, or null etc

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

0 голосов
/ 12 февраля 2011

Три варианта, как я их вижу:

  1. Поместите данные в скрытое поле - возможно, сохраненное в состоянии просмотра, если вы не хотите, чтобы они были легко доступны через источник страницы.
  2. Поместите данные в URL - или прокси данных, скажем, зашифрованный фрагмент, который расшифровывает фактический идентификатор, если вы не хотите, чтобы идентификатор был фактически видимым.
  3. Поместите данные в файл cookie, возможно, в зашифрованном виде.

Мне нужно узнать больше о ваших требованиях, прежде чем я смогу дать рекомендацию. Вы говорите, что хотите избежать первых двух, но мне не ясно, можете ли вы использовать их, если значение было зашифровано или проксировано (скажем, с использованием идентификатора базы данных вместо идентификатора студента). Как правило, я проксирую его с помощью искусственного идентификатора базы данных (автоматически сгенерированного целого числа) и помещаю его прямо в URL, но я бы также использовал ASP.NET MVC вместо веб-форм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...