如何规避Silverlight跨域安全法?
这一点是我需要解决的问题 跨域调用 - 浏览器或客户端 - 在服务器上托管的每个客户端访问策略文件配置时允许。
任何方式? 文章? 利布斯?
答案 0 :(得分:6)
其他海报已经回答了你的问题 - 或者更确切地说,你应该问的问题 - 所以我可能会大声嚷嚷。
但它可能有所帮助 - 不仅可以帮助我们阅读您的问题,还可以帮助您自行解决问题 - 如果您尝试以更有用的方式重新构建它。而不是问“我怎么做X”,其中X是设计无法完成的事情,你应该问,“X有哪些替代品,因为X不能通过设计来完成?”
在这种情况下,Silverlight跨域限制是一种旨在无法逃避的安全功能(正如rjmunro指出的那样,即使有解决方法,你也不希望构建产品)它,因为它几乎肯定会在未来关闭)。
还有另一个原因可以让自己了解可以填补相同角色的替代方案:此问题将您的注意力集中在跨域限制的安全目的上。如果你问自己如何“规避”跨域限制,你可以说,“啊哈!我可以设置一个对所有人开放的简单Web代理!”不幸的是,这允许任何人逃避跨域限制并在您的代理上下文中执行。
通过询问“做不可能的跨域调用有什么替代方案”,你(希望)提醒自己为什么存在跨域策略,并且 - 希望 - 考虑你实现的任何替代方案的安全含义。
答案 1 :(得分:4)
通常我认为您可以在服务器上使用Web服务来处理此问题。您应该将您传递给Web服务的内容非常具体。不允许Web服务只使用通用URL,否则您可能会让Web服务处于开放状态以便被利用。
在silverlight网站上查看以下关于跨域策略文件的帖子:
http://silverlight.net/learn/videos/all/how-to-use-cross-domain-policy-files-with-silverlight/
答案 2 :(得分:3)
在您控制的服务器上使用某种代理 - 即最终用户连接到的服务,并且该服务本身连接到网络。
根据定义,任何其他答案都将利用将在未来版本的Silverlight中修补的漏洞。