微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight – 如何保护我的服务器方法

我刚刚读了几篇关于以某种方式隐藏Silverlight代码的帖子.
主要结论是你可以对它进行模糊处理,但你无法真正隐藏它,因此必须在服务器上完成安全的事情.
但是,任何人都可以通过fiddler看到哪些数据发布到特定的Web服务.例如,他们可以看到我正在调用UpdateCustomer.asmx.
如果他们这样做,我该怎么做才能阻止他们称之为asmx呢?
有没有办法只允许“我的Silverlight应用程序”调用方法

解决方法

我想如果你想要真正偏执,你可以通过一个Web服务端点编组来自客户端应用程序的所有调用并加密有效负载…类似于:

>客户端应用程序命中端点“givemeatoken.asmx”
>服务器生成一些密钥令牌
>客户端使用所述令牌加密所有调用,将它们传递给单个端点“onlyservice.asmx”
>服务器使用令牌解密呼叫的有效负载,并将呼叫路由到“真正的”Web服务.
>服务器检索调用结果,使用令牌重新加密,然后传回客户端
>客户端解密结果并完成它需要做的事情.

但这只是疯狂的谈话……而且有点毫无意义,因为你可以对Silverlight代码本身进行逆向工程,以弄清楚“真正的”服务是什么.如果您确实想要保护您的应用,请使用身份验证;在客户端和服务器端(即,对服务的调用需要某种身份验证票证)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐