【发布时间】:2017-02-12 07:29:17
【问题描述】:
我遇到了提到here 的同样问题,允许不安全的连接解决了这个问题,而没有其他问题。如果我继续允许这些不安全的连接,您能否告诉我可能会遇到哪些安全问题?
【问题讨论】:
-
使用未经验证的 SSL 证书可能与根本不使用 SSL 一样安全,除非您个人知道它是可以信任的(例如,它是自签名的)。
标签: php email security ssl phpmailer
我遇到了提到here 的同样问题,允许不安全的连接解决了这个问题,而没有其他问题。如果我继续允许这些不安全的连接,您能否告诉我可能会遇到哪些安全问题?
【问题讨论】:
标签: php email security ssl phpmailer
TLS 有两个作用:验证您连接的对象,以及保护传输中的数据。禁用验证会丢弃前者,但数据在传输过程中仍会以与经过验证的证书完全相同的方式加密,因此它仍然比没有加密要好得多。
禁用验证最明显的问题是您失去了检测连接拦截的能力。 ISP 拥有一个防火墙配置是很常见的,它将出站 SMTP 连接重定向到他们自己的邮件服务器而不告诉您。如果您不验证证书,您的脚本将不会注意到它连接到错误的服务器,并且会继续并提交您的凭据(这可能会失败,因为它是错误的服务器) - 但您刚刚提交了您的 ID和中间人的密码,您无法判断是您的 ISP 还是其他人拦截了您的连接。
【讨论】:
我建议这个链接:
PhpMailer not sending mails - TLS error?
如果您遇到不安全的连接问题,请添加以下行:
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
它会阻止证书检查等。
【讨论】: