【问题标题】:How to know, who made request in a Web Api?如何知道谁在 Web Api 中发出请求?
【发布时间】:2017-03-02 06:53:10
【问题描述】:

我想防止其他人向我的 Web API 发出请求。我有一个页面 (www.PageAuthorized.com) 向某些网络 API 发出请求,但可能有人向相同的 API 发出其他请求。

【问题讨论】:

标签: javascript c# angularjs ajax asp.net-web-api


【解决方案1】:

您有多种选择。您可以实施一些证书检查。或者您引入一个必须发送和验证的令牌。您也可以使用用户名和密码,或者今天使用 oauth 会更好。或者只是简单地通过 https 进行基础授权。 Cookie,也许还有其他选项。取决于您想要执行它的复杂性和安全性以及将使用多少用户。尝试提供有关您的应用程序的更多详细信息

【讨论】:

    【解决方案2】:

    您可以为您的 webapi 配置 CORS:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
     <system.webServer>
       <httpProtocol>
         <customHeaders>
           <add name="Access-Control-Allow-Origin" value="http://mydomain.xyz"/> />
         </customHeaders>
       </httpProtocol>
     </system.webServer>
    </configuration>
    

    那么只允许来自 mydomain.xyz 的调用。

    https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api

    【讨论】:

    • 它解决了我的问题 :),现在我可以限制来自特定 WebClient 的请求。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2011-08-19
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    相关资源
    最近更新 更多