Во-первых, я полагаю, мне следует спросить ... что вы на самом деле имеете в виду под «Антифургерией»? Что вы беспокоитесь о том, чтобы быть подделанным? Остальное, что следует, это просто общая информация, которая приходит в голову ...
Одна вещь, которую я бы изменил, это не использовать Guid.NewGuid. Есть дебаты о том, является ли это случайным или нет и, следовательно, не подходит для целей безопасности. Тем не менее, я думаю, что это будет очень тяжелая атака, чтобы осуществить.
Посмотрите на RNGCryptoServiceProvider для метода GetBytes для чего-то, что должно быть лучше для генерации случайного токена. В дополнение к лучшей случайности, еще одним преимуществом является то, что вы можете сделать его любого размера.
Вы делаете это через ssl? Во-первых, ssl - это линия защиты номер один для человека в середине атаки. Это может быть недостаточно безопасно (и другие могут спорить об этом) для любых нужд, но если вы беспокоитесь о таких вещах, это отправная точка, если не что иное. Если нет, как вы гарантируете, что получаете ответ от правильной машины, а не от человека посредника, который отвечает первым? Без SSL или аналога ваш токен будет украден так же легко, как и все, что вы делаете.
Еще одна вещь, которую стоит добавить, - это чтобы ваши токены были полезны только для одной поездки, а вы генерируете новый обратно клиенту в следующей поездке. Попытка повторного использования не удалась.
Я бы не попытался бы заменить SSL чем-то другим, созданным вами, если вы об этом думаете. Если вы беспокоитесь о воспроизведении, одноразовое создание токенов - это один из способов остановить его. Если вы беспокоитесь о том, что пользователь отправляет одни и те же данные формы дважды, это одно из действий. Я бы также рассмотрел ваш общий дизайн приложения, если вы обеспокоены этим. Многие сценарии воспроизведения и аналогичные сценарии могут быть побеждены продуманным дизайном вашей бизнес-логики, например, неверием в то, что клиент отправит вам конфиденциальную информацию, например, цену товара в корзине.
Пожалуйста, ознакомьтесь с различными руководствами Microsoft по безопасности ASP.NET и IIS (например, сайт безопасности ASP.NET Google или IIS: microsoft.com) в качестве отправной точки. Многие умные люди уже решили много вопросов для нас.