2010-03-08 151 views
0

我有一个Web服务需要能够验证调用请求Web服务的服务器脚本的最终用户IP。简单的布局:如何验证服务器端Web服务的浏览器IP

人A进入网页B.网页B调用网络服务C获得关于人员A的一些信息。网络服务C不会向网页B提供所请求的信息,而没有确认该请求源自人员A的IP而不是某人偷了A人的会话。

我在想,对于基于浏览器的解决方案,原始网站(网页B)可以打开转到Web服务身份验证页面的iframe。某种类型的密钥会传递给浏览器,这将会如何指示用户的IP和Web页面B的IP,以便Web服务可以确认没有人抓取任何内容。

我有两个方面的挑战,但我会坚持更直接的一个第一:

我不知道如果我的基于浏览器的计划确实是有道理的。如果有人窃取会话cookie,Web服务将如何知道?这个cookie会被网页B阻止,从而难以窃取?这是否是一个明智的假设:只有服务器持有cookie而不是浏览器是安全的?

此外,基于iframe初始连接的Web服务是否期望服务器/用户IP组合?我的意思是,通过iframe提供的会话密钥是否由Web服务存储,而网站B显示它是否匹配?或者会话密钥更通用,这意味着Web服务通过网站B传递密钥,并且Web服务根据有效会话密钥的外观来验证这是否是有效的会话密钥?

回答

0

为什么不为您的用户提供数字证书。当客户端请求Web服务时,证书将被传递。 Web服务检查数字证书的存在并作出相应反应。数字证书比IP阻塞有显着的好处。与用户身份验证一样,数字证书的安全检查在实际进行Web方法调用之前不会发生。因此,访问者仍然可以查看Web服务或相关Web页面的WSDL页面。