2011-06-27 11 views
2

私はPHPのmail()関数を使用していて、自分の受信ボックスに「マイウェブサイト」によって自分のメールが送信されていることに気づいていますが、 [email protected]から送信されます。メールを送信するときのフィールドからのPHP

理想的には、「私のウェブサイト」から送信されるとしますが、返信メールは「[email protected]」で、@ sitename.localdomainについて何も言わないようにしたいと考えています。

$to = trim(strtolower($_POST['to'])); 
$from = trim($_POST['from']); 
$message = trim($_POST['message']); 

$subject = $from . ' has shared a link with you'; 
$headers = 'From: My Website' . "\r\n" . 
     'Reply-To:' . $to . "\r\n" . 
     'X-Mailer: PHP/'; 


mail($to, $subject, $message, $headers); 

これは私がApacheで修正する必要がある問題ですか、あるいはPHP内のヘッダーを変更できますか?

答えて

3

このお試しください:深刻なセキュリティ上の脆弱性が存在します

$to = trim(strtolower($_POST['to'])); 
$from = trim($_POST['from']); 
$message = trim($_POST['message']); 

$subject = $from . ' has shared a link with you'; 
$headers = 'From: My Website <[email protected]>' . "\r\n" . // <- change your email here 
     'Reply-To:' . $to . "\r\n" . 
     'X-Mailer: PHP/'; 


mail($to, $subject, $message, $headers); 
+0

すごい!ありがとう、私がやろうとしていたことを正確に行いました。 :) –

1

質問をし、#1の回答 -

$to = trim(strtolower($_POST['to'])); 

は、攻撃者が任意のスパムメールを送信するためにあなたのウェブサイトを使用できるようになりますし、あなたのサイトになりますほとんどの検索エンジンからブロックされています。 を参照してください https://www.owasp.org/index.php/Top_10_2010-A1

私の推薦は

  • は慎重に消毒しない限りフィールド
  • から今まで、これまでの出力にポストにメッセージをコピーすることはありませんサニタイズにあります。
関連する問題