2011-12-31 47 views
1

鉴于C#可以非常容易地反编译,暴露所有设置变量以及功能,是否有一种方法可以充分保护Facebook提供的用于创建应用程序的API秘密?保护C#中的Facebook API秘密

谢谢

回答

1

解决此问题的一种方法是将这些凭证存储在您的app.config文件中,然后使用DPAPI加密包含这些凭证的节。

http://msdn.microsoft.com/en-us/library/ff647398.aspx

解密配置值是透明的并且仍然可以通过ConfigurationManager类来完成。

3

软件设计的一般规则是不信任客户端。无论客户能做什么,任何人都可以做到。你可以通过默默无闻的方式来尝试一些安全措施,并且有一种方法可以“产生”秘密,或者你可以将它隐藏在一个看似无关的类中,但是在一天结束时,任何有点时间的人都可以看看在传出数据包并从中提取密钥。

如果您想要真正的安全性,请将您的所有网络路由通过您的服务器。让客户端发送命令到您的服务器,它将解释命令并使用Facebook API与您的秘密一起向客户端发送正确的数据。

+3

这不仅适用于.NET语言或易于反编译的语言。是的,从程序中提取密钥可能比较困难,但使用wireshark查看传出数据包并从那里复制API密码也很容易。 – 2011-12-31 10:46:20

+0

如何让应用程序在登录后访问用户配置文件。程序是否需要集成它以允许用户允许应用程序访问其设置?并且需要发送什么来验证用户? – topherg 2011-12-31 10:52:08

+2

如果您对自己的答案有其他信息,最好编辑答案并添加信息,而不是对其进行评论。 – 2011-12-31 10:52:20