0

我在 web api 安全方面很新。我使用了表单身份验证技术。当用户登录时,会创建一个令牌并将其作为 cookie 存储在用户的 Web 浏览器中。在每个请求中,都会验证令牌,并且如果用户经过身份验证并且授权用户被授予访问服务的权限。

但我认为这种方法在 web api 安全方面没有任何作用。cookie 可以很容易地复制并粘贴到其他浏览器中,任何人都可以获得该服务。

我正在考虑使用 App 密钥和密钥以及表单身份验证。我不建议使用像 Oauth 这样的第三方服务进行身份验证。我不确定应用程序密钥的实现和它的工作原理。

请提供更好的方法来保护我的 web api 不使用第三方服务并防止 cookie 劫持等。执行哪些操作来构建一个高度安全的 web api。

4

1 回答 1

0

表单身份验证已经足够好了。您还可以执行以下操作:

  1. 使用防伪(antifrogery)令牌。检查这个这个
  2. 如果在敏感操作上检查对函数的调用是否来自同一个站点,那也很棒。您可以为此实现自己的操作过滤器。(检查推荐站点是您的站点还是预期站点)

编辑:

谢谢你们的评论。我猜你是对的。ASP 中的身份验证 cookie 被创建为 httpOnly cookie,这意味着即使该站点存在一些 XSS 漏洞,它仍然是安全的并且不会被窃取。如果网站用于敏感操作(如银行),我还建议在任何地方使用 https,以确保 cookie 完全安全。

于 2013-10-15T08:33:44.613 回答