一 防止伪造请求
1.配置全局防止伪造服务
csharp
services.AddMvc(
o => {
o.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
}
)
2.视图中添加代码
csharp
@inject Microsoft.AspNetCore.Antiforgery.IAntiforgery Xsrf
@functions{
public string GetAntiXsrfRequestToken()
{
return Xsrf.GetAndStoreTokens(Context).RequestToken;
}
}
3.视图中数据访问 在header中添加RequestVerificationToken
js
$.ajax({
url:'xx.xx/xx',
type: 'post',
data: data.field,
headers: {
"RequestVerificationToken":'@GetAntiXsrfRequestToken()'
},
success: function (ret) { },
error: function (err) {
}
});
设置完成后,如果请求不合规请返回400
如果某些请求无需验证,可添加[IgnoreAntiforgeryToken]跳过
二 防止跨站脚本攻击
在控制器或Action中添加[AntiXSS]
csharp
using RsCode;
[AntiXSS]
public class HomeController