联系表密码安全
Contact Form password security
我创建了一个联系表单并有一个关于此表单的安全问题。
我已经对我的问题做了一些研究,但我想在犯任何错误之前仔细检查...
基本上,我在后面的代码中创建了联系表,如下所示。
在那里,我必须包括我的电子邮件地址和密码才能连接到 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
正如评论中提到的,您需要将许多这些值移动到配置文件中,包括您的密码。理想情况下,您将以加密格式存储凭据,这样如果有人窃取了您的配置文件,他们就无法访问您的电子邮件。
有关如何加密的说明,请参阅此答案:Encrypting Web.Config
详细说明如何 encrypt/decrypt 该文件有点超出了这个问题的范围,但我认为这是您继续前进的正确途径。
我创建了一个联系表单并有一个关于此表单的安全问题。
我已经对我的问题做了一些研究,但我想在犯任何错误之前仔细检查...
基本上,我在后面的代码中创建了联系表,如下所示。
在那里,我必须包括我的电子邮件地址和密码才能连接到 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
正如评论中提到的,您需要将许多这些值移动到配置文件中,包括您的密码。理想情况下,您将以加密格式存储凭据,这样如果有人窃取了您的配置文件,他们就无法访问您的电子邮件。
有关如何加密的说明,请参阅此答案:Encrypting Web.Config
详细说明如何 encrypt/decrypt 该文件有点超出了这个问题的范围,但我认为这是您继续前进的正确途径。