我正在編寫一個Silverlight應用程序,它將通過一些WCF Web服務將數據讀取和寫入服務器端數據庫。確保WCF服務安全,只能通過Silverlight應用程序調用
什麼是保護這些Web服務的最佳方式?
我的目標是確保其他應用程序無法調用這些服務,並且可能會將請求添加到數據庫中。只有Silverlight應用程序需要能夠訪問它們。
我正在編寫一個Silverlight應用程序,它將通過一些WCF Web服務將數據讀取和寫入服務器端數據庫。確保WCF服務安全,只能通過Silverlight應用程序調用
什麼是保護這些Web服務的最佳方式?
我的目標是確保其他應用程序無法調用這些服務,並且可能會將請求添加到數據庫中。只有Silverlight應用程序需要能夠訪問它們。
一般來說,你不能假設任何有關客戶端。如果您嘗試讓非Silverlight應用程序無法訪問您的網站,惡意客戶可以輕鬆裝扮成Silverlight應用程序,然後又回到原點。
這就是說,這不是保護服務器的有效方法。爲了保護你的服務器,假設任何和所有的客戶端都會攻擊你的站點,並從那裏開始。
編輯:
讓我修改的是說,如果你想進入相互認證的世界裏,你可以設置一個PKI來管理證書,發行用戶證書的所有用戶,然後你知道你的用戶是誰。儘管如此,其中一個可能是惡意的(並且很有天賦),並將證書注入另一個客戶端。
唐是絕對正確的,有沒有萬無一失的方式確保客戶端是一個Silverlight應用程序。
但是,我認爲您需要了解以下方面的更多信息:我可以確保只有我信任的人才能連接到服務。 答案在這裏(基本上)是肯定的,或者至少我們有標準化的方法來做到這一點。
你通常會要考慮幾個不同的方法:
Don說了些什麼非常有見地的評論。絕對是upvote。 ;) – 2009-06-27 18:44:23