Проверьте Источник ФОРМЫ POST, чтобы гарантировать, что это прибыло из того же сервера/приложения

говорит компилятору игнорировать любые символы ESC в строке.

Просто хотел разъяснить этого..., это не говорит ему игнорировать символы ESC, это на самом деле говорит компилятору интерпретировать строку как литерал.

, Если Вы имеете

string s = @"cat
             dog
             fish"

, это на самом деле распечатает как (обратите внимание, что это даже включает пробел, используемый для добавления отступа):

cat
             dog
             fish
6
задан David Christiansen 23 July 2009 в 15:51
поделиться

3 ответа

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

Если оно идентично, то вы знаете, что отправленная форма пришла из того места, откуда она должна поступить. .

8
ответ дан 10 December 2019 в 02:51
поделиться

Вы можете включить в форму скрытое поле, которое будет SHA1Hash ("some-secret" + Remote_IP + PerSessionSecret).

PerSessionSecret - это то, что вы автоматически создаете в начале сеанс. "some-secret" - это глобальное секретное значение, которое немного поможет в случае, если случайно сгенерированный PerSessionSecret окажется недостаточно случайным.

Затем проделайте те же вычисления при отправке формы, и вы поймете, что это наиболее вероятно отправлено тем же клиентом, которому оно было отправлено. (Конечно, если у вас есть несколько клиентов за одним адресом, например прокси или NAT, вы не сможете надежно их различить).

0
ответ дан 10 December 2019 в 02:51
поделиться

Старый поток, но все еще может быть полезен.

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

1
ответ дан 10 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: