处理AJAX时的API设计和安全性

时间:2014-04-23 18:53:04

标签: security rest asp.net-web-api

我开始使用.NET Web API构建API。我遇到了需要考虑如何防止滥用我的API的情况。举个例子:

在我的帐户创建表单中,我进行了客户端检查以查看是否已使用用户名。这项检查是这样的:

var exists = false;

$.ajax({
    url: '/api/people?username=' + name,
    method: 'GET',
    async: false,
    success: function (response) {
        exists = response;
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        //alert('error');
    }
});

return exists;

我的最终问题是:如何最好地保护我的API,以便有人无法构建只需https://example.com/api/people?username=blah查找信息的内容?我已经阅读了有关添加Basic Auth的内容,但是在这种情况下如何最好地实现该设计?

1 个答案:

答案 0 :(得分:1)

您可以考虑使用访问控制规则并仅允许来自www.example.com的来电,因此,如果有人从www.othersite.com致电,它将拒绝该请求。

Access Control

Same-Origin Policy

但是,如果您尝试允许外部网站访问您的API,您肯定需要身份验证。希望这会有所帮助!!