从javascript调用Web服务时添加身份验证/安全性的最佳方法是什么? 我希望我的Web服务只能从我的应用程序调用,其他任何人都不能通过将Web服务URL复制到浏览器来访问我的Web服务。
从最初的几个答案看来,这似乎是不可能的 那么我应该如何回复我的客户,因为他不知道不可能的字?
〜Ajinkya。
答案 0 :(得分:1)
这是不可能的。如果您允许客户端从JavaScript访问您的Web服务,则客户端将始终能够执行此操作。您只能通过使用某种约束来减少访问,例如需要与请求一起发送的令牌以对其进行身份验证。您甚至可以将其转换为一次性令牌。但这会产生新问题(例如,如果答案丢失会发生什么。客户端javascript无法重新运行查询。)
答案 1 :(得分:1)
请查看使用同步器令牌模式,以便只能使用加载服务引用的页面已知的一段数据来使用该服务。有一个使用OWASP Top 10 for .NET developers part 5: Cross-Site Request Forgery (CSRF)中的Web服务执行此操作的示例。这应该实现你所追求的目标。