Как мы можем скрыть (невидимые) некоторые строки CodeBehind (например, класс) от других разработчиков в общем проекте?
Как мы можем скрыть (невидимые) некоторые строки CodeBehind (например, класс) от других разработчиков в общем проекте?
Я задал этот вопрос, потому что сегодня мы работали над кодами электронной почты, и мы хотели отправить электронное письмо на все электронные письма программистов, отправив электронное письмо на наш общий веб-сайт.
Как мы можем скрыть наши пароли друг от друга?
Можно ли сделать 3 класса (для отправки писем 3 веб-разработчикам) и скрыть или скрыть эти классы (файл класса или строки кода), чтобы каждый пеграммер мог видеть только свой класс?
заранее спасибо///
код электронной почты выглядит так:
protected void Button1_Click(object sender, EventArgs e)
{
//create mail message
MailMessage mail = new MailMessage();
//set the address
mail.From = new MailAddress("Kazemipour@gmail.com");
mail.To.Add("aaak@yahoo.com");
//set the content
mail.Subject = "Project email";
mail.Body = "Hello World!";
//send the message
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("aaa@gmail.com", "pass");
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
try
{
smtp.Send(mail);
Button1.Text = "sent";
}
catch (System.Net.Mail.SmtpException exp)
{
Label1.Text = exp.ToString();
}
}
2 ответа
Я бы предложил создать и использовать учетную запись службы, а не личную учетную запись, для отправки электронной почты с веб-сайта. Если возможно, попросите администраторов почтовой системы освободить эту учетную запись службы от пароля для отправки электронной почты. По моему опыту, администраторы, как правило, довольно хорошо умеют делать исключения для учетных записей служб с низким уровнем риска (потому что они не используются человеком для нормальной интернет-активности).
Вы не должны жестко кодировать пароли в классах, вы должны поместить такую информацию в файл конфигурации. Вы можете зашифровать или хешировать пароль для дополнительной безопасности. Я также не уверен, зачем вам нужен пароль, чтобы отправить кому-то электронное письмо.
Вы могли бы сделать что-то вроде:
string strEmail = System.Configuration.ConfigurationManager.AppSettings["Email"];
string strPassword = System.Configuration.ConfigurationManager.AppSettings["EmailPassword"];
smtp.Credentials = new System.Net.NetworkCredential(strEmail,strPassword )
Вы можете сохранить адрес электронной почты и пароль в файле web/app.config, как показано ниже:
<appSettings>
<add key="Email" value="arse@feck.com" />
<add key="EmailPassword" value="ThePassword" />
</appSettings>
Пока у каждого delevloper есть свой собственный файл конфигурации, они могут хранить свой пароль в секрете, но общий код извлекает файл конфигурации.