Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中保护Facebook API机密#_C#_Facebook_Facebook C# Sdk - Fatal编程技术网

C# 在C语言中保护Facebook API机密#

C# 在C语言中保护Facebook API机密#,c#,facebook,facebook-c#-sdk,C#,Facebook,Facebook C# Sdk,考虑到C#可以非常容易地反编译,公开所有设置变量和功能,有没有一种方法可以完全保护Facebook为创建应用程序提供的API秘密 谢谢软件设计的一般规则是不信任客户。无论客户能做什么,任何人都能做。你可以通过隐晦的方式尝试一些安全措施,并且有一种方法可以“生成”秘密,或者你可以将它隐藏在一个看似无关的类中,但是在一天结束时,任何有一点时间的人都可以查看传出的包并从中提取密钥 如果您想要真正的安全,请通过服务器路由所有网络。让客户端向您的服务器发送命令,服务器将解释这些命令,并使用Facebook

考虑到C#可以非常容易地反编译,公开所有设置变量和功能,有没有一种方法可以完全保护Facebook为创建应用程序提供的API秘密


谢谢

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


如果您想要真正的安全,请通过服务器路由所有网络。让客户端向您的服务器发送命令,服务器将解释这些命令,并使用Facebook API和您的机密将正确的数据发送回客户端。

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


如果您想要真正的安全,请通过服务器路由所有网络。让客户端向您的服务器发送命令,服务器将解释这些命令,并使用Facebook API和您的机密将正确的数据发送回客户端。

此问题的一个可能解决方案是将这些凭据存储在app.config文件中,然后使用DPAPI加密包含这些凭据的部分


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

此问题的一个可能解决方案是将这些凭据存储在app.config文件中,然后使用DPAPI加密包含这些凭据的节


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

这不仅仅适用于.NET语言或易于反编译的语言。是的,从程序中提取密钥可能会比较困难,但使用wireshark查看传出的数据包并从中复制API机密同样容易。允许应用程序在登录后访问用户配置文件如何。程序是否需要集成它,以便用户允许应用程序访问其设置?需要发送什么来验证用户身份?如果您自己的答案中有其他信息,则最好编辑答案并添加信息,而不是对其进行评论。如果应用程序是WinForms应用程序,则不会有服务器。你是说不可能创建一个既使用facebook api又保护api机密的客户端winforms应用程序吗?不,我是说不可能创建一个既使用facebook api又保护api机密的客户端。您可以将服务器与winforms应用程序一起使用。它永远不会直接向Facebook发送网络请求。您将购买一个域名并创建一个简单的程序,该程序将接收来自任何客户端的访问Facebook API的请求,进行实际的API调用,并将结果数据从Facebook发送回客户端。客户端的显示方式无关紧要,它可以是一个带有小屏幕的arduino,只要它可以向服务器程序发送正确的网络命令。这不仅仅适用于.NET语言或可以轻松反编译的语言。是的,从程序中提取密钥可能会比较困难,但使用wireshark查看传出的数据包并从中复制API机密同样容易。允许应用程序在登录后访问用户配置文件如何。程序是否需要集成它,以便用户允许应用程序访问其设置?需要发送什么来验证用户身份?如果您自己的答案中有其他信息,则最好编辑答案并添加信息,而不是对其进行评论。如果应用程序是WinForms应用程序,则不会有服务器。你是说不可能创建一个既使用facebook api又保护api机密的客户端winforms应用程序吗?不,我是说不可能创建一个既使用facebook api又保护api机密的客户端。您可以将服务器与winforms应用程序一起使用。它永远不会直接向Facebook发送网络请求。您将购买一个域名并创建一个简单的程序,该程序将接收来自任何客户端的访问Facebook API的请求,进行实际的API调用,并将结果数据从Facebook发送回客户端。客户机的显示方式并不重要,它可以是一个带有小屏幕的arduino,只要它能够向服务器程序发送正确的网络命令。