有没有一种方法可以阻止查询到另一个服务器?

时间:2020-08-13 04:07:09

标签: asp.net angular security asp.net-core

我制作了一个Json Web令牌来保护我的服务,但是现在有人使用我的登录服务在我的数据库上进行了很多查询。有没有办法阻止进入另一个服务器的查询?

对我的服务器的查询或攻击来自不同的ip和不同的国家/地区。

我使用angular 9和asp.net内核。

// POST: api/Login
    [HttpPost]
    [AllowAnonymous]
    public async Task<IActionResult> Login(UsuarioLogin usuarioLogin)
    {
        var _userInfo = await AutenticarUsuarioAsync(usuarioLogin.Usuario, usuarioLogin.Password);
        if (_userInfo != null)
        {
            return Ok(new { token = GenerarTokenJWT(_userInfo) });
        }
        else
        {
            return Unauthorized();
        }
    }

1 个答案:

答案 0 :(得分:1)

Enable Cross-Origin Requests (CORS) in ASP.NET Core

有三种启用CORS的方法:


具有命名策略和中间件的CORS

public class Startup
{
    readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors(options =>
        {
            options.AddPolicy(name: MyAllowSpecificOrigins,
                              builder =>
                              {
                                  builder.WithOrigins("http://example.com",
                                                      "http://xxxx.com");
                              });
        });

        // services.AddResponseCaching();
        services.AddControllers();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseRouting();

        app.UseCors(MyAllowSpecificOrigins);

        // app.UseResponseCaching();

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }
}