我已经创建了几个过去发送电子邮件的asp.net应用程序,但我一直不确定存储SMTP凭据的位置。我通常只是创建一个单独的XML文件来存储这些信息,但我不确定这是否是最好的方法。在asp.net应用程序中存储SMTP凭据的最佳做法是什么?
为asp.net应用程序存储SMTP凭据时的最佳做法是什么?
SMTP证书应该存储在web.config中吗?
我已经创建了几个过去发送电子邮件的asp.net应用程序,但我一直不确定存储SMTP凭据的位置。我通常只是创建一个单独的XML文件来存储这些信息,但我不确定这是否是最好的方法。在asp.net应用程序中存储SMTP凭据的最佳做法是什么?
为asp.net应用程序存储SMTP凭据时的最佳做法是什么?
SMTP证书应该存储在web.config中吗?
我说明了吗?
<configuration>
<system.net>
<mailSettings>
<smtp>
</smtp>
</mailSettings>
</system.net>
<configuration>
主观标签?
我会存储在web.config中,如果我有我的druthers。任何时候需要发送一封电子邮件(yuck),我一直在那些将它们存储在数据库中的地方,并调用数据库获取这些凭据。
你应该问问自己:你在哪里储存你的连接字符串?
如果的web.config是足够安全的为您的数据库凭据,我看不出有任何理由SMTP的人应该有所不同..
所以我的选择是 - 无论您存储连接字符串。
我会建议将SMTP服务器设置为仅限NTLM身份验证,然后作为服务器的授权用户运行该Web应用程序。除SMTP服务器的IP之外,不存储凭证。
显然,如果您使用的是Gmail,这不是一个选项,在这种情况下,将其存储在您自己的单独部分中,并使用加密的用户名和密码。然而,你可能会争辩说,如果他们有权访问你的网络配置,他们很可能访问你的源文件或去编译的二进制文件。
虽然您可以加密连接字符串。我猜你不能做同样的smtp信誉 – 2011-05-09 21:50:14
感谢您指出@Joe!您可以像加密连接字符串一样加密任何类型的信息。正如我之前所说 - 两个证书应该在相同的安全级别imho。 – ljubomir 2011-05-09 22:01:33