我刚刚阅读了一些关于以某种方式隐藏Silverlight代码的帖子。 主要结论是你可以对它进行模糊处理,但你无法真正隐藏它,因此必须在服务器上完成安全的事情。 但是,任何人都可以通过Fiddler看到哪些数据发布到特定的Web服务。例如,他们可以看到我正在调用UpdateCustomer.asmx。 如果他们这样做,我该怎么做才能阻止他们称之为asmx呢? 有没有办法只允许“我的Silverlight应用程序”调用该方法?
答案 0 :(得分:1)
不。有人可以随时对您的Silverlight应用程序进行反向工程,以窃取您使用的任何身份验证凭据。你可以使这个逆向工程过程比其他方式更乏味,但你不能让它变得不可能。
如果有人从自定义客户端访问您的网址,为什么会出现问题?您正在验证用户,对吧?
答案 1 :(得分:0)
我想如果你想要真正偏执,你可以通过一个Web服务端点封送来自客户端应用程序的所有调用并加密有效负载...类似于:
但那只是疯狂的谈话......而且有点毫无意义,因为你可以对Silverlight代码本身进行反向工程,以弄清楚“真正的”服务是什么。如果您确实想要保护您的应用,请使用身份验证;在客户端和服务器端(即,对服务的调用都需要某种身份验证票证)