0

ニュースレターのメールを顧客に送信するために、mailchimp の一括メール サブスクリプションを使用しています。しかし、誰かが何らかのメカニズムを使用して、私の Web サイトからの電子メールをトリガーしています。

ホームページから続々と大量のメールが届きます。

このハッキング活動を止める方法はありますか?

このため、1 分あたりのメール使用量が増えているため、私のサブスクリプションは間もなく終了します。

これが私のコードです:

protected void btnSubmit_Click(object sender, EventArgs e)  
{  
        //Fetching Settings from WEB.CONFIG file.  
        string emailSender = ConfigurationManager.AppSettings["emailsender"].ToString();  
        string emailSenderPassword = ConfigurationManager.AppSettings["password"].ToString();  
        string emailSenderHost = ConfigurationManager.AppSettings["smtpserver"].ToString();  
        int emailSenderPort = Convert.ToInt16(ConfigurationManager.AppSettings["portnumber"]);  
        Boolean emailIsSSL = Convert.ToBoolean(ConfigurationManager.AppSettings["IsSSL"]);  


        //Fetching Email Body Text from EmailTemplate File.  
        string FilePath = "D:\\MBK\\SendEmailByEmailTemplate\\EmailTemplates\\SignUp.html";  
        StreamReader str = new StreamReader(FilePath);  
        string MailText = str.ReadToEnd();  
        str.Close();  

        //Repalce [newusername] = signup user name   
        MailText = MailText.Replace("[newusername]", txtUserName.Text.Trim());  


        string subject = "Welcome to CSharpCorner.Com";  

        //Base class for sending email  
        MailMessage _mailmsg = new MailMessage();  

        //Make TRUE because our body text is html  
        _mailmsg.IsBodyHtml = true;  

        //Set From Email ID  
        _mailmsg.From = new MailAddress(emailSender);  

        //Set To Email ID  
        _mailmsg.To.Add(txtUserName.Text.ToString());  

        //Set Subject  
        _mailmsg.Subject = subject;  

        //Set Body Text of Email   
        _mailmsg.Body = MailText;  


        //Now set your SMTP   
        SmtpClient _smtp = new SmtpClient();  

        //Set HOST server SMTP detail  
        _smtp.Host = emailSenderHost;  

        //Set PORT number of SMTP  
        _smtp.Port = emailSenderPort;  

        //Set SSL --> True / False  
        _smtp.EnableSsl = emailIsSSL;  

        //Set Sender UserEmailID, Password  
        NetworkCredential _network = new NetworkCredential(emailSender, emailSenderPassword);  
        _smtp.Credentials = _network;  

        //Send Method will send your MailMessage create above.  
        _smtp.Send(_mailmsg);  



    }  
} 
4

1 に答える 1

1

フォームにキャプチャが必要です: https://www.google.com/recaptcha/intro/v3.html

Web サイトの参照を library/bin/Release/Recaptcha.dll に追加します。Visual Studio の [Web サイト] メニューで [参照の追加] を選択し、ダイアログ ボックスで [.NET] タブをクリックします。.NET コンポーネントのリストから Recaptcha.dll コンポーネントを選択し、[OK] をクリックします。コンポーネントが表示されない場合は、[参照] タブをクリックして、ハード ドライブでアセンブリ ファイルを探します。次のコード スニペットを追加して、保護するフォームに reCAPTCHA コントロールを挿入します。aspx ページの上部に、これを挿入します。

<%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>

次に、タグ内に reCAPTCHA コントロールを挿入します。

<recaptcha:RecaptchaControl
    ID="recaptcha"
    runat="server"
    PublicKey="your_public_key"
    PrivateKey="your_private_key"
    />

公開鍵と秘密鍵をそれぞれ PublicKey と PrivateKey に置き換える必要があります。

ASP.NET 検証を使用してフォームを検証してください (送信時に Page.IsValid を確認する必要があります)。

于 2018-11-19T11:15:32.933 に答える