设想
我有一个 HTML/javascript 网站,它使用 javascriptSOAPClient 与 ASP.NET 1.1 Web 服务进行通信,以便读取/写入 SQL 数据库。(http://www.codeproject.com/KB/ajax/JavaScriptSOAPClient.aspx)。该数据库包含匿名的人口统计信息——没有姓名、没有信用卡、没有地址。本质上,收集的数据是用于数据挖掘目的。
该站点是实时的,但我们希望在 javascript/ajax 客户端和 wbe 服务之间为这个和未来的项目引入更安全的通信。作为金融行业的承包商,在某些时候我们会遇到一个问题:这个网站可以被黑客入侵吗?如果我们没有解决方案,我们可能会出声。
我已经在遵循最佳实践,例如通过命令参数和存储过程与数据库进行通信)。然而,目前任何人都可以浏览我们的 Web 服务描述并弄清楚如何使用我们公开的服务。
问题
- 使用我的混合解决方案(即不是端到端 Microsoft),我应该如何验证 Web 服务上的客户端请求?
- 如果我开始将用户名/密码或其他一些可识别的元素作为身份验证传递给 Web 服务,我是否应该关心该密钥是如何在客户端生成/存储的?