如何从调试过程中保护宁静的Web服务请求数据,即fiddler或任何其他工具

时间:2015-08-18 14:36:43

标签: c# json wcf

我开发了WCF(RestService),现在我担心它的安全性。

在fiddler的帮助下,我得到了所有请求,特定服务的响应参数。 例如,

URL of service : ../RemoteService/WebService.svc/Login
Headers : application/json
Body : 
{
"apiSecretKey":"sda564456asdasda45sdsad452635",
"userName":"abc@test.com",
"password":"test@123"
}

Api密钥是主要关注点,因为整个开发的服务在此运行,如果任何人获得此密钥,那么该人可以访问数据并使用该服务。

我如何更加保护我的请求数据?

请建议。

2 个答案:

答案 0 :(得分:2)

您没有描述您的架构,但这是一个常见问题。如果您在网上搜索“使用来自网络应用程序的令牌进行安全api调用”之类的内容,您会发现不应该直接从您的网页调用API,因为您确实需要将令牌发送给用户,然后可以将令牌用于恶意目的。

您需要“代理”来自您网站的API调用,您可以在其中使用登录会话或单独的令牌来验证和授权用户。所以:

[Web browser] <-- session key or token --> [Web server] <-- token --> [API server]

相关阅读:Programmers.SE: Securing ajax calls to rest apiREST API Token-based AuthenticationREST authentication and exposing the API key

答案 1 :(得分:1)

如果用户自己提供该数据,那么使用https保护WCF URI是可行的方法。 Fiddler只能在您的计算机上阅读https,并且只能获得您的许可。 https将保护数据免受现实世界中的窥视(好吧,尽可能多。)

此外,如果这是由有限的一组用户(企业对企业,而不是企业对消费者)调用的服务,则可以通过防火墙限制对单个IP地址的访问。