20080331
【ewebメールフォーム】
のセキュリティ対応について
【to-R】さんのご指摘によって、【ewebメールフォーム】のセキュリティ脆弱性が発見されました(AjaxMailは対応済みです)。
本日対応についての問い合わせをいただきましたので、【to-R】さんに指示をいただいた対応案を以下に記しておきます。
【ewebメールフォーム】は知名度も高く、メールフォームまわりの検索語で上位にあがってくることが多いので(080331現在「PHP+メールフォーム」でGoogle・Yahoo!ともに検索結果1位です)、とても多くのサイトで使用されていることが予想されます。
既に導入をされている方、また、今後導入される方にとってのセキュリティ対応の一助となれば幸いです。
対象ファイル名:sendmail.php
【33行目】
$remail = 1;
必ず0にしてください。
【159行目~162行目】
$header="From: $from\nReply-To: ".$_POST['email']."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
} else {
$header="Reply-To: ".$_POST['email']."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
}
を以下の文章に差し替え、headerの中身を固定化してください
$header="From: ".$to."\nReply-To: ".$to."\nContent-Type:text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
} else {
$header="Reply-To: ".$to."\nContent-Type:text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
}
【165行目】
if($remail == 1) { mail($reto,$resbj,$rebody,$reheader); }
の1行を削除して、自動返信機能そのものを解除してください。
これでスパムの踏み台になるのはひとまず防げるとのことです。
追伸:エールの記事をポストしていただいた【Birth of Blues】さんの温かいお言葉に救われました。ありがとうございます。