【问题标题】:Contact Form password security联系表格密码安全
【发布时间】:2015-12-26 18:27:16
【问题描述】:

我创建了一个联系表单,并为此表单设置了一个安全问题。

我已经对我的问题进行了一些研究,但我想在我犯任何错误之前仔细检查......

基本上,我在后面的代码中创建了我的联系表单,如下所示。

在那里,我必须包含我的电子邮件地址和密码才能连接到 smtp 服务器。

恐怕很容易找到我的凭据。

有人对如何保护此代码有建议吗? (或者我对这个解决方案有什么误解?)

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

End Sub
Protected Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs)
    Try
        If Page.IsValid Then
            Dim mailMessage As New MailMessage()
            mailMessage.From = New MailAddress("MYEMAILADRESS")
            mailMessage.To.Add("MYEMAILADRESS")
            mailMessage.Subject = txtSubject.Text

            mailMessage.Body = "<b>Sender Name : </b>" & txtName.Text & "<br/>" & "<b>Sender Email : </b>" & txtEmail.Text & "<br/>" & "<b>Phone </b>" & txtPhone.Text & "<br/>" & "<b>Comments : </b>" & txtComments.Text

            mailMessage.IsBodyHtml = True


            Dim smtpClient As New SmtpClient("smtp.gmail.com", 587)
            smtpClient.EnableSsl = True
            smtpClient.Credentials = New System.Net.NetworkCredential("MYEMAILADRESS", "PASSWORD")
            smtpClient.Send(mailMessage)

            Label.Text = "Thank you for contacting us"

            txtName.Enabled = False
            txtEmail.Enabled = False
            txtComments.Enabled = False
            txtSubject.Enabled = False
            txtPhone.Enabled = False
            Button.Enabled = False
        End If
    Catch ex As Exception
        'Log - Event Viewer or table
        Label.Text = "There is an unknown problem, please try later"
    End Try
End Sub

【问题讨论】:

  • 这是服务器端,它永远不会到达您的用户。另外,请考虑将其移至配置文件,而不是将值存储在代码中。
  • @WiktorZychla 虽然你说的是服务器端的说法是对的,但我绝对可以理解为什么有人不愿意以明文形式存储重要密码。
  • @Gray:当然,加密配置文件将是我的下一个建议,只要 OP 以某种方式解决这个问题。我不确定他们是否知道他们的凭据对用户来说是安全的。
  • 非常感谢您的帮助!我现在就去做!

标签: asp.net security passwords


【解决方案1】:

正如在 cmets 中提到的,您需要将很多这些值移动到配置文件中,包括您的密码。理想情况下,您将以加密格式存储凭据,这样如果有人窃取您的配置文件,他们就无法访问您的电子邮件。

有关如何加密的说明,请参阅此答案:Encrypting Web.Config

详细说明如何加密/解密文件有点超出这个问题的范围,但我认为这是你下去的正确路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2014-12-06
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    相关资源
    最近更新 更多