私はPHPの初心者ですが、実際の連絡先フォームを作成することができます。しかし、その後私はEmail Header Injectionを知っていました。可能な限り最良の方法でこれを防止するにはどうすればよいですか?私のフォームを迷惑メールにしたくない。連絡先フォームで電子メールヘッダの挿入を防止するにはどうすればよいですか?
これは私のコードです:?以下に示すように
<?php
if ($_POST["email"]<>'') {
$ToEmail = '[email protected]';
$EmailSubject = 'Email Subject';
$mailheader = 'From: [email protected]' . "\r\n" .
'Reply-To:' .$_POST["email"]. "\r\n" .
'MIME-Version: 1.0'."\r\n".
'Content-Type: text/html; charset=utf-8'."\r\n".
'X-Mailer: PHP/' . phpversion();
$MESSAGE_BODY .= "<b>Navn:</b> ".$_POST["name"]."<br />";
$MESSAGE_BODY .= "<b>Telefon:</b> ".$_POST["telephone"]."<br />";
$MESSAGE_BODY .= "<b>Email:</b> ".$_POST["email"]."<br /><br />";
$MESSAGE_BODY .= "".nl2br($_POST["message"])."<br />";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
>
電子メール形式のコンテンツの場合は、$ _POST ["email"] '検証を追加するだけで、これ以上の埋め込みはできなくなります – Kazz