2010-03-08 181 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頁面。