猿问

可以从 PHP 中的任何发件人发送电子邮件

当我在我的网站上工作时,我从我网站的 PHP 代码向自己发送了一封电子邮件。发送它的代码是这样的:


<?php 

$to = "myemail@gmail.com";

$subject = "Test email";

$message = "This is a test email";

$headers = "From: info@mydomain.com";

mail($to,$subject,$message,$headers);

?>

但是在标题中,我不小心拼错了 from email-address。令我惊讶的是,当我检查收件箱时,它确实向我发送了一封电子邮件,但发件人部分有错字。然后我尝试将发件人地址更改为我的另一个现有电子邮件,我的网站应该无法访问该电子邮件。但令我惊讶的是,它仍然将电子邮件发送给我,并且还带有我其他电子邮件地址的发件人地址。


我的问题是:这不是一个严重的安全漏洞吗?因为我可以从任何地址发送电子邮件而无需登录。有了这个,我可以冒充任何人。


PS:我不太熟悉电子邮件的工作原理,所以这可能是一个简单的问题。我也猜测这可以通过任何方式自己设置标题,我只是在 PHP 中找到它。


慕丝7291255
浏览 172回答 1
1回答

素胚勾勒不出你

这称为电子邮件欺骗。电子邮件使用 SMTP(智能邮件传输协议)发送,并且可以通过 SMTP 发送电子邮件而无需验证您实际上是该电子邮件地址的所有者。这不是一个新把戏,这就是为什么你总是要保持怀疑。据我所知,这些电子邮件通常会被接收服务器接受,但它们会保留传入 SMTP 的日志,因此它们会保存发件人的 IP 地址。我不建议将电子邮件欺骗用于恶意目的。在这里查看更多详细信息。
随时随地看视频慕课网APP
我要回答