注射を直接入力するフォームを使用するとよく見えません。私はthe followingを使って私がまとめているメーラーをテストしています。スクリプトからデータを投稿します。 $postData
は、お客様のフォームに合わせて変更する必要があります。これだけのBCC「被害者:
<?php
$postData =
'contactname=Lord+Sauron&'.
'[email protected]%0ABcc:[email protected]'.
'&message=Sorry+about+that+whole+ring+thing.+No+hard+feelings%3F';
$url = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/onetrueformmailer.php';
$result = do_post_request($url, $postData);
echo($result);
// http://wezfurlong.org/blog/2006/nov/http-post-from-php-without-curl/
function do_post_request($url, $data, $optional_headers = null) {
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}
?>
Hiya、 はあなたがCAPTCHAを使用していない何らかの理由はありますか? スパムボットがサイトをクロールし、連絡先フォームを参照し、手作業で投稿データをフォームのアクションに送信できます。フォームの連絡先情報を受け取った者をスパムすることができます。 あなた自身で再生したい場合は、[Snoopy](http://sourceforge.net/projects/snoopy/)または他のライブラリを使ってテストを設定して、あなたの投稿データを簡単に送信することができます形。 受信者をハードコーディングしている場合やファイルのアップロードを承諾している場合は、電子メールインジェクションに特に脆弱だとは思われません。 – Andy
私はスパムボットがランダムフォームを送信するのを防ぐためにcaptchaを持っているつもりですが、私は悪意のあるユーザーから自分自身を守ることを試みていますが、とにかく答えていただきありがとうございます。 – Mathew
メールインジェクションでは、ヘッダーインジェクションを参照していると思います。 php ['mail'関数](http://php.net/manual/en/function.mail.php)には、ヘッダーがどのように電子メールに追加されるかについてのいくつかの文書があります。 – hakre