Вы можете использовать AntiForgeryToken с MVC3 и Ajax.
Вот как я это делаю. (Это не является надежным, конечно, но добавляет еще один уровень безопасности)
На ваш взгляд, в любом месте, выход:
@Html.AntiForgeryToken()
И в вызове Ajax включают это значение в почтовых переменных, как:
$.post("/Controller/Action/",
{ 'id': var_id, '__RequestVerificationToken': $("input[name='__RequestVerificationToken']").val() },
function (data) { /* handle request */ });
А в вашем контроллере:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Action(int id) {..}
Помимо этого, вы можете также сделать чек ссылающийся хост и отклонить любой хост, который не соответствует вашему домену. Это может быть подделано, но опять же, это еще один слой для добавления.
Какое ваше применение? – epignosisx