如何防止silverlight XAP进行外部复制&;在别人的域名上使用
我想我不太清楚这个过程 比如说,我创建了一个很棒的SL应用程序,并将其托管在我的网页上。如果有人下载th XAP,他可以在他的网页上托管它,因为它只是一个文件,我认为它会工作得很好,即使它被混淆了 我认为有两种方法可以保护它:如何防止silverlight XAP进行外部复制&;在别人的域名上使用,silverlight,security,Silverlight,Security,我想我不太清楚这个过程 比如说,我创建了一个很棒的SL应用程序,并将其托管在我的网页上。如果有人下载th XAP,他可以在他的网页上托管它,因为它只是一个文件,我认为它会工作得很好,即使它被混淆了 我认为有两种方法可以保护它: 在我的网站上使用授权 (ASP.NET身份验证)并传递身份验证令牌 从it到SL应用程序,这样他们至少 将不得不使用我的网站获得 以某种方式验证令牌(尽管 不是第二个,这也可以在 一些看不见的方式,如webrequest或 做任何人想做的事情 要获得th令牌,请执行以下操
也许有一种方法可以保护XAP,如果它不是从某个特定的域下载的话,它就不会工作了 为什么不这样做呢,也许是在
应用程序启动中
if (Application.Current.Host.Source.Host != "mydomain.com")
throw new ApplicationStolenException();
理论上,有人可以编辑xap文件来更改该字符串,但您可以对其进行模糊处理,使其更加困难
身份验证的事情是行不通的。您将如何处理Silverlight应用程序中的身份验证令牌?Silverlight不管理会话,您如何防止某人永远重复使用令牌
唯一可靠的选择是让应用程序依赖于web服务。dependent指的是在服务器上实际实现部分逻辑。否则,只需重新创建一个产生与您相同响应的服务就很容易了
与所有与安全相关的问题一样,这都是关于平衡风险和投资的问题。为什么不这样做呢,也许是在
应用程序启动中
if (Application.Current.Host.Source.Host != "mydomain.com")
throw new ApplicationStolenException();
理论上,有人可以编辑xap文件来更改该字符串,但您可以对其进行模糊处理,使其更加困难
身份验证的事情是行不通的。您将如何处理Silverlight应用程序中的身份验证令牌?Silverlight不管理会话,您如何防止某人永远重复使用令牌
唯一可靠的选择是让应用程序依赖于web服务。dependent指的是在服务器上实际实现部分逻辑。否则,只需重新创建一个产生与您相同响应的服务就很容易了
与所有与安全相关的问题一样,这都是关于平衡风险和投资的问题。您可能需要阅读以下内容:您可能需要阅读以下内容:是的。。如果可以确定地对字符串进行模糊处理,那就太容易了。我认为如果我们考虑一个隐藏任何严肃技能的场景,这种保护就不值得了。对我来说,这似乎是一个像样的保护(如果它被混淆了)。编辑了更多的信息。是的ofc,对不起,我的意思是一件事,写了另一件事,不同的方法只是跨域文件,在第二种方法中,auth并不是真的需要,因为服务不应该在我的网站以外的下载位置工作,虽然第一种方法不使用跨域策略,但DLL可以使用reflector进行反编译,它们可以删除这行代码。有没有真正好的方法来防止这种情况?也许加载dll运行时(我需要这方面的例子)?是的,嗯。。如果可以确定地对字符串进行模糊处理,那就太容易了。我认为如果我们考虑一个隐藏任何严肃技能的场景,这种保护就不值得了。对我来说,这似乎是一个像样的保护(如果它被混淆了)。编辑了更多的信息。是的ofc,对不起,我的意思是一件事,写了另一件事,不同的方法只是跨域文件,在第二种方法中,auth并不是真的需要,因为服务不应该在我的网站以外的下载位置工作,虽然第一种方法不使用跨域策略,但DLL可以使用reflector进行反编译,它们可以删除这行代码。有没有真正好的方法来防止这种情况?也许加载dll运行时(我需要这方面的示例)?