C# 如何在c中安全地存储webhook url

C# 如何在c中安全地存储webhook url,c#,encryption,base64,webhooks,url-obsfucation,C#,Encryption,Base64,Webhooks,Url Obsfucation,在我正在创建的一个c程序中,我想将人们给出的答案发送到一个webhook,在那里可以存储这些答案。我如何使它,如果有人打开program.cs,他们无法看到什么是网络钩子?为此,我在python中使用base64。好吧,首先,如果您使用base64进行某种加密/模糊处理,那么您的某个地方有一个巨大的安全漏洞,需要紧急注意。。。读取Base64编码字符串所需的唯一工作就是对其进行解码 其次,你要寻找的是通常被称为应用程序秘密或环境变量的东西;这些值通常在运行时分配/初始化。你应该使用某种类型的 但

在我正在创建的一个c程序中,我想将人们给出的答案发送到一个webhook,在那里可以存储这些答案。我如何使它,如果有人打开program.cs,他们无法看到什么是网络钩子?为此,我在python中使用base64。

好吧,首先,如果您使用base64进行某种加密/模糊处理,那么您的某个地方有一个巨大的安全漏洞,需要紧急注意。。。读取Base64编码字符串所需的唯一工作就是对其进行解码

其次,你要寻找的是通常被称为应用程序秘密或环境变量的东西;这些值通常在运行时分配/初始化。你应该使用某种类型的

但即使如此,因为这是客户端的,URL也不会被混淆,如果他们能够反汇编程序或应用程序,他们将能够在反汇编的代码中找到秘密

您可以使用非机密/公共URL,然后将请求转发到机密URL。这将是最安全的方法,因为这是客户端在不访问服务器的情况下无法访问基础URL的唯一方法


但是,最终,如果端点非常敏感,您必须对其保密,那么您可能不应该让客户端直接向其发送数据。

也许您可以使用公共URL,但在webhook验证的请求标头中传递一个秘密令牌。请确保不要硬编码令牌或以纯文本形式存储,而是将其存储在受DPAPI保护的文件中。如果他们可以打开program.cs,他们可能也可以调试您的代码并获取值,不是吗?这不是也无法工作吗?因为如果公共url转发给它,那么他们就可以使用公共url向webhook@TwistedNight是的,当然可以。你必须接受一个事实,那就是你不能真正地保守这个请求的秘密。一个有动力的用户总是能够弄清楚客户机上发生了什么,从而复制它所做的事情。@TwistedNight不太可能。我的意思是,如果你真的只是使用HTTP语义转发请求,他们肯定知道,HTTP会添加头来指示它是从一个地址转发到另一个地址的,如果你通过服务传递请求,即,你发布到服务A,服务A发布你发布到服务B的内容,服务B响应服务A,服务A回应您如果不监听来自服务A的网络流量,就无法知道服务B是什么,我认为这是相当安全的。。大多数恶意用户不会靠近服务器来执行此操作。