1

そこで、「お問い合わせ」フォーム用の PHP コードをオンラインで入手しました (私自身は PHP をコーディングしていません) が、そこには私の電子メール アドレスがすべて含まれています。次のフォームを使用すると、私の電子メールはスパマーから安全になりますか?

contact.php ファイル (実際の電子メールは MYEMAIL@COMPANY.COM に置き換えられています):

<?php
// Contact Form 

// Get posted data into local variables
$EmailFrom = Trim(stripslashes($_POST['EmailFrom'])); 
$EmailTo = "MYEMAIL@COMPANY.COM";
$Subject = "A User Has Contacted You";
$Name = Trim(stripslashes($_POST['Name'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// Validation
$validationOK=true;
if (Trim($EmailFrom)=="") $validationOK=false;
if (Trim($Name)=="") $validationOK=false;
if (Trim($Message)=="") $validationOK=false;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}

// Prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

// Send E-Mail 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// Redirect to Success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=success.htm\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>

HTML スニペット:

<form method="POST" action="contact.php">

...

</form> 

PHP に含まれる電子メール アドレスはすべてサーバー側であるため (サーバー/サイトが安全であると仮定して)、クローラーから完全に安全であると読みました。これが本当かどうかはわかりませんが、あまりにも多くの情報がありすぎて、オンラインで検索しても決定的な答えを見つけることができませんでした. このコードが安全に使用できるかどうかを誰かが確認できれば、それは素晴らしいことです。

4

4 に答える 4

1

彼らがそのファイルにアクセスして読み取れない限り、問題ありません。彼らはそれを手に入れることができません。あなたが言ったように、それはすべてサーバー側です。

于 2013-01-17T02:58:22.807 に答える
1

このアドレスは安全ですが、万一、ファイルがプレーン テキストとして提供されて読み取り可能になる場合を除きます (Sean が言うように)

于 2013-01-17T03:04:46.130 に答える
1

たとえば、彼があなたのウェブサイトへの fpt アクセス権を持っている場合や、あなたに何らかの脆弱性がある場合を除き、電子メールはすべてサーバー側にあるため、保護されています。

また、洪水を防ぐために、このようなことを検討することもできます。

    session_start()

    define('TIME_INTERVAL', 120);

    if(isset($_SESSION['ip']) && (time() - $_SESSION['last_post']) < TIME_INTERVAL) 
    }
       die('stop spamming !');
    {

    $_SESSION['last_post'] = time();
    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];

また、電子メールの検証に関しては、こちらを参照してください。これは、電子メールのドメインも検証して、既存の電子メール サーバーであるかどうかを確認します。

function validate_mail($email)
{
 if (filter_var($email, FILTER_VALIDATE_EMAIL)) 
 {
    list($username,$domain)=split('@',$email);
    if(checkdnsrr($domain,'MX')) 
    {
      return true;
    } 
 }
 return false;
}
于 2013-01-17T03:13:46.750 に答える
0

簡単な答え、あなたは安全です。PHP 要素はサーバー上でのみ処理されるため、だれもがあなたのメール アドレスを見る方法はありません。

于 2013-01-17T04:25:35.350 に答える