Skip to content

一 防止伪造请求

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