所以我使用 PHP 并在我的网站上有一个联系表。一旦用户填写表格并提交,它会向我发送一封电子邮件。我假设我一直在接收来自机器人的垃圾输入,如下所示。这是 的结果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>"
并且可以发送垃圾邮件使用我的域的电子邮件。
但是,对于我上面提到的输入,我在“电子邮件”字段下看不到“换行符”。因此,我认为这是一种不同的攻击。有什么我应该注意的吗?