変数をエスケープしないでPHPでメール本文を生成しているので、ちょっと気分が悪いです。 HTMLでは、htmlspecialchars()または類似の関数をコマンドラインescapeshellarg()に使用していますが、メールには使用していますか?例えば、このような何か:メール本文の変数を引用/エスケープする
<?php
$usercontent = $_GET['usercontent'];
mail("[email protected]", "My Subject", "My body with $usercontent included");
?>
可能攻撃者は、上記のようなスクリプトで何ができ、どのように私はそのような攻撃から守ることができますか?または、PHP mail()を保存して、なぜですか?
更新
例を参照してください:(ヘッダーがありません!)
- にいくつかの証拠を答えは素敵です
- MTAは "/ usr/sbin/sendmail -t -i"を持つpostfix sendmailです
メール機能の危険性が高いのは4番目のパラメータであり、ユーザーが生成したコンテンツで使用しない限り、十分に安全だと思います。とにかく、Swiftmailer http://swiftmailer.org/のようなサードパーティのライブラリを使用することをお勧めします。 – arraintxo
4番目のパラメータに関するセキュリティ問題については、こちらをご覧ください:http://stackoverflow.com/questions/ 4834337/phps-mail-what-are-potential-issues-to-watch-out-for – arraintxo
他のパラメータからのセキュリティ問題に関するコメントをありがとう、私はよく知っている、私はちょうど注射のような体に興味がある複数の部分のメールまたはこのような何か。 – Trendfischer