如何保护您的文件不被Web主机覆盖

时间:2011-11-13 13:45:33

标签: c# .net winforms ftp decompiling

我在我的网络托管服务器中创建了一个目录。

我创建了一个文本文件。它用于激活我的应用程序。

但我在我的应用程序中设置了用户名和密码。我想测试反编译器是否真的适用于我的应用程序,它的工作原理。当我反编译我的应用程序时,它显示我的用户名和密码。这对我不好。如果有人知道我的用户名和密码,他们可以覆盖日期文件并增加订阅数据。

当有人通过filezilla打开文件夹时,我不想让我的文件被覆盖。我想只为我的文件提供下载权限而不会覆盖权限

如果有人能帮助我,我们将非常感激。

提前致谢。

2 个答案:

答案 0 :(得分:2)

然后,您应该设置您的FTP服务器,以便您的应用程序登录的用户没有写入权限。

如果您使用普通FTP,其他人是否能够反编译您的应用程序并不重要(他们会)。他们可以窥探他们的网络通信并查看用户名和密码。

答案 1 :(得分:2)

首先,您需要正确设置安全性 - 即使用最不需要的权限集(您的FTP目录不应允许根据您描述的内容编写当前所执行的组/世界!)...

至于用户名/密码反编译问题 - 公钥加密可以在这里提供帮助:

  • 将公钥嵌入到您的应用中(或者只是使用您的应用公开分发)
  • 此公钥对所有客户都可以是相同的
  • 如果您需要为客户提供一些特殊选项,请创建XML /文本文件......
  • 该文件包含您定义的任何格式的内容
  • 该文件可以包含任何明文
  • 您签署该文件(使用永久分发的私钥创建签名)
  • 您的应用可以通过验证签名(为此需要公钥)验证文件是否为正版
  • 如果您的应用通过网络发送用户名/密码,请选择一个允许窥探的协议(例如服务器端SSL,当与客户端证书结合使用时更好)
  • FTP可以与SSL一起使用(称为FTPS)或使用不同的SFTP(SSH标准的一部分)

您的客户无法根据公钥创建有效签名...如果您的硬件有一些不可更改的序列号,您的应用程序可以读取,那么我也会将此硬件序列号放入XML /文本文件中。这样一个XML /文本文件文件不能被不同的客户复制/使用......

您甚至可以通过提供客户特定的公钥来扩展此方案(并保持相应的私钥私有)...这些可以与应用程序公开分发,而不需要隐藏,因为任何人都知道公钥安全风险......

因此,如果有人覆盖/更改您的文件,签名就会出错,从而使您免受此类威胁......

理想情况下,你签署你的应用程序/程序集(为此你需要一个证书),这提供了一些安全性,防止篡改你的应用程序/程序集,然后你有一些非常坚实的东西,而不需要任何“技巧”......

相关问题