我开始使用.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的内容,但是在这种情况下如何最好地实现该设计?
答案 0 :(得分:1)
您可以考虑使用访问控制规则并仅允许来自www.example.com的来电,因此,如果有人从www.othersite.com致电,它将拒绝该请求。
但是,如果您尝试允许外部网站访问您的API,您肯定需要身份验证。希望这会有所帮助!!