csrf攻击ajax,使用ajax帖子时如何处理CSRF攻击?
我基本上想要发一个ajax帖子来发送一些stateId并从该州获回一些城市列表。
@Html.DropDownList("states", (SelectList)ViewBag.States)
@Html.AntiForgeryToken()
我这样做的请求是:
function PopulateTable() {
var x=$("#frmAjax").serialize();
$.ajax({
url: @Url.Action("GetCities"),
type: POST,
dataType: json,
data: [1]
success: function (data) {
var target = $(".displayData tbody");
target.empty();
for (var i = 0; i < data.length; i++) {
target.append(
+ data[i].Id + + data[i].Name + + data[i].Population+ );}
}
});
}
动作是这样的
[ValidateAntiForgeryToken]
public JsonResult GetCities([2])
{
var cities= new Service().GetCities(stateId);
return Json(classes);
}
我应该放什么代替[1]和[2]以便它可以工作?我基本上希望这个ajax帖子与AntiForgeryToken()和ValidateAntiForgeryToken的常规帖子一样安全。
感谢。
我基本上想要发一个ajax帖子来发送一些stateId并从该州获回一些城市列表。 @Html.DropDownList("states", (SelectList)ViewBag.States) @Html.AntiForgeryToken() 我这样做的请求是: function PopulateTable() { var x=$("#frmAjax").serialize(); $.ajax({ url: @Url.Action("GetCities"), type: POST, dataType: json, data: [1] success: function (data) { var target = $(".displayData tbody"); target.empty(); for (var i = 0; i < data.length; i++) { target.append( + data[i].Id + + data[i].Name + + data[i].Population+ ); } } }); } 动作是这样的 [ValidateAntiForgeryToken] public JsonResult GetCities([2]) { var cities= new Service().GetCities(stateId); return Json(classes); } 我应该放什么代替[1]和[2]以便它可以工作?我基本上希望这个ajax帖子与AntiForgeryToken()和ValidateAntiForgeryToken的常规帖子一样安全。 感谢。