联系表格密码安全

时间:2015-09-29 10:04:05

标签: asp.net security passwords

我创建了一个联系表单,并对此表单有一个安全问题。

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

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

在那里,我必须包含我的电子邮件地址和密码才能连接到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

1 个答案:

答案 0 :(得分:1)

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

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

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