0

だから私はPHPを使用していて、私のWebサイトに連絡フォームがあります。ユーザーがフォームに記入して送信すると、私にメールが送信されます。ボットからジャンク入力を受け取っていると思いますが、以下のようになります。これはの結果ですprint_r($_REQUEST)。簡単にするためにいくつかのパラメーターを削除しました。

Array
(
   [name] => rycpufrwq
   [email] => raaszg@fqhzdm.com
   [company] => naCuklaLMab
   [website] => http://ujpbfhazkpzv.com/
   [message] => cBimwx  <a href=\"http://pxlahgqmdrhs.com/\">pxlahgqmdrhs</a>, [url=http://sjmbrhkycvbz.com/]sjmbrhkycvbz[/url], [link=http://rddqwgzwvrhv.com/]rddqwgzwvrhv[/link], http://csohvhsvdisc.com/
)

そのような要求で、私はdbまたは何にも書き込みません。に電話するだけでメールを送信しますmail()。具体的にはmail($to,$subject,$body,$headers)、$headersは次のとおりです。

$headers="From:$email_from\r\nBcc:$email_bcc\r\nReply-To:$name<$email>\r\n";

$nameは$_REQUEST['name']で、$emailは$_REQUEST ['email']ですが、「\r」と「\n」があればすべて"\r\nCc:<a list of emails>"削除します。私のドメインを使用したメール。

ただし、上記の入力の場合、「email」フィールドの下に「newline」が表示されません。したがって、それは別の種類の攻撃だと思います。知っておくべきことはありますか?

4

1 に答える 1

2

したがって、私はそれが別の種類の攻撃であると想定しています。

疑わしい。これは、電子メール インジェクション攻撃のようには見えませんが、できるだけ多くの場所 (コメント スレッドなど) でコンテンツをリンクさせようとする単純なありふれたボットです。そのため[link] 、URL を BBCode にリンクさせるための表記が存在します。

ゴミであることを除けば、メッセージに悪意のあるものは何も見当たりません。

これを止めるには、他の人が言うように、キャプチャ ソリューションが最も一般的な方法です。他にもあります。SO に関する関連する質問を参照してください。例:キャプチャを使用せずにコメント スパムをブロックする

于 2010-11-08T09:42:58.520 に答える