Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP邮件程序中允许不安全的连接_Php_Email_Security_Ssl_Phpmailer - Fatal编程技术网

在PHP邮件程序中允许不安全的连接

在PHP邮件程序中允许不安全的连接,php,email,security,ssl,phpmailer,Php,Email,Security,Ssl,Phpmailer,我遇到了前面提到的同样的问题,允许不安全的连接解决了这个问题,而其他什么都没有解决。如果我一直允许这些不安全的连接,您能告诉我可能会面临哪些安全问题吗?TLS履行两个角色:验证您连接的用户,以及保护传输中的数据。禁用验证会删除前者,但数据在传输过程中仍然以与验证证书完全相同的方式进行加密,因此它仍然比不加密要好得多 禁用验证最明显的问题是,您失去了检测连接被拦截的能力。ISP通常会有防火墙配置,将出站SMTP连接重定向到自己的邮件服务器,而不告诉您。如果您不验证证书,您的脚本将不会注意到它连接到

我遇到了前面提到的同样的问题,允许不安全的连接解决了这个问题,而其他什么都没有解决。如果我一直允许这些不安全的连接,您能告诉我可能会面临哪些安全问题吗?

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


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

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

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

我建议使用以下链接:

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

$mail->SMTPOptions = array(
        'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);  
它会阻止认证检查等等。

我建议使用以下链接:

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

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

它会阻止证书检查等。

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