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