【问题标题】:Allowing insecure connections in PHP Mailer在 PHP Mailer 中允许不安全的连接
【发布时间】:2017-02-12 07:29:17
【问题描述】:

我遇到了提到here 的同样问题,允许不安全的连接解决了这个问题,而没有其他问题。如果我继续允许这些不安全的连接,您能否告诉我可能会遇到哪些安全问题?

【问题讨论】:

  • 使用未经验证的 SSL 证书可能与根本不使用 SSL 一样安全,除非您个人知道它是可以信任的(例如,它是自签名的)。

标签: php email security ssl phpmailer


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我建议这个链接:

    PhpMailer not sending mails - TLS error?

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

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

    它会阻止证书检查等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 2016-08-30
      • 2021-12-22
      • 2014-08-14
      • 2015-04-22
      相关资源
      最近更新 更多