使用php mail()发送邮件 - 滥用'来自'电子邮件地址

时间:2014-07-30 14:29:22

标签: php forms security email

我正在使用mail()函数在php中实现联系表单。在联系表格中,我要求提供用户的电子邮件地址,并在提交后将其邮件发送到我自己的电子邮件地址。

这是我的php代码:

    $to = 'myemail@gmail.com';
    $from_name = $_POST['InputName'];
    $from_email = $_POST['InputEmail'];
    $subject = 'Message from '.$from_name;
    $message = $_POST['InputMessage'];
    $headers = 'From: '.$from_email."\r\n".'Reply-To: '.$from_email.
        "\r\n".'X-Mailer: PHP/'.phpversion();
    $mailsuccess = mail($to,$subject,$message,$headers);

经过测试,我意识到一个人可以发送一封伪装成别人有效电子邮件地址的电子邮件。例如,在测试期间,我使用了我朋友的电子邮件并给自己发了一条消息。这不是一个安全问题吗?在我的Gmail帐户中,我确实收到一条警告,指出此电子邮件可能不是来自该人,但如果不是垃圾邮件,我通常会忽略该警告。

例如,如果Bob(bob@gmail.com)通过伪装成Chris(chris@gmail.com)的联系表单发送消息,我将通过电子邮件回复Chris。克里斯认为他的电子邮件被黑了,因为他从未发送过该电子邮件这通常是个问题吗?或者有没有办法让它更安全?

1 个答案:

答案 0 :(得分:1)

它被称为电子邮件欺骗。 SMTP不是一个非常安全的协议。它总是可以欺骗。不幸的是,除非地球上的每个电子邮件服务器都做出修改以解决这个问题,否则无法解决这个问题,这是不可能的。

它是如何发生大量网络钓鱼和垃圾邮件的。