たとえば、c#MVCにajaxを使用してメールを送信するメソッドがあるとします。
public class mailController : Controller {
SmtpClient mailserver = new SmtpClient("smtp.foo.com");
public string send(string from, string to, string subject = "", string body = "", string cc = "", string bcc = "") {
MailMessage message = new MailMessage(from, to, subject, body);
if (cc.Length > 0) {
message.CC.Add(cc);
}
if (bcc.Length > 0) {
message.Bcc.Add(bcc);
}
mailserver.Send(message);
return "MessageSent";
}
}
これをより安全にするために私にできることはありますか?つまり、現状では、誰でもアドレスバーに関連情報を入力できます。http://www.foo.com/mail/send?from=etc
これをフォームの送信に使用したい場合、パスワードで保護できないか、簡単に見つけられるjavascriptで使用する必要があります。クッキーを設定して認証として使用することを検討しましたが、それはこれまでのところです。ajaxメソッドを保護するための標準的な手順はありますか?