1

PHP を使用してフォーム送信をメールで送信する方法を改善しようとしています。現時点では、私のコードは次のようになります。

<?php
  //==== FORM DATA
  $name = $_REQUEST['cName'];
  $email = $_REQUEST['cEmail'];
  $message = $_REQUEST['cMessage'];

  //==== EMAIL DETAILS
  $to = "myemailaddress@test.com";
  $subject = "Web Query";
  $headers .= "From:".$email;
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

  //==== EMAIL CONTENT
  $content =
  "<b>From: </b>".$name."<br />".
  "<b>Email: </b>".$email."<br /><br />".
  "<b>Message: </b>".$message;

  //==== SEND EMAIL
  mail($to, $subject, $content, $headers);
?> 

私がそれを行う方法で発見した潜在的な欠陥が1つあります。「宛先」メールアドレスを入力しましたが、スパムにつながる可能性があるのではないかと心配しています (他のすべてのデータは、PHP に直接入力される「宛先」アドレスを除いて、HTML フォームの送信から取得されます)。その電子メール アドレスを難読化する最も簡単な方法は何ですか?また、そうする必要がありますか?

4

4 に答える 4

2
$name = htmlspecialchars($_REQUEST['cName']);
$email = filter_var($_REQUEST['cEmail'], FILTER_VALIDATE_EMAIL);
$message = htmlspecialchars($_REQUEST['cMessage']);
于 2013-05-25T11:16:17.870 に答える
2

filter_var$_REQUEST 変数を使用する前に、たとえばmysql_real_escape_string でエスケープする必要があります。また、それらが正しい値の型を持っているかどうかを確認し、カスタム関数 (有効な電子メールですか?) を使用して検証する必要があります。 com/a/16748986/753676

于 2013-05-25T11:06:05.617 に答える