在PHP Mailer中允许不安全的连接

时间:2016-10-04 07:58:08

标签: php email security ssl phpmailer

我遇到了here提到的同样问题,并且允许不安全的连接解决了它,而没有其他任何问题。如果我继续允许这些不安全的连接,你能告诉我可能面临的安全问题吗?

2 个答案:

答案 0 :(得分:3)

我建议这个链接:

PhpMailer not sending mails - TLS error?

如果您有不安全的连接问题,请添加以下行:

$mail->SMTPOptions = array(
        'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);  

它阻止证明检查等。

答案 1 :(得分:2)

TLS履行两个角色:验证您要连接的人员,以及保护传输中的数据。禁用验证会丢弃前者,但数据在传输过程中仍然采用与验证证书完全相同的方式加密,因此它仍然比没有加密要好得多。

禁用验证最明显的问题是您无法检测到对连接的拦截。 ISP很常见的是防火墙配置将出站SMTP连接重定向到他们自己的邮件服务器而不告诉您。如果您没有验证证书,您的脚本将不会注意到它已连接到错误的服务器,并将继续并提交您的凭据(这可能会失败,因为它是错误的服务器) - 但您刚刚提交了您的ID和中间人的密码,你无法分辨是你的ISP或其他人拦截你的连接。