gpt4 book ai didi

security - PHP Mailer 类 - 保护电子邮件凭据

转载 作者:行者123 更新时间:2023-12-04 02:43:14 25 4
gpt4 key购买 nike

我正在使用 php 邮件程序类通过我的脚本发送电子邮件。

结构如下:

$mail = new PHPMailer;

$mail->IsSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'myserver.com'; // Specify main and backup server
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'info@somedomain.com'; // SMTP username
$mail->Password = 'user123'; // SMTP password
$mail->SMTPSecure = 'pass123';

在我看来,将邮箱凭据一目了然是一个安全漏洞。所以我想我可以把它们放在网络根目录之外的外部文件中。我的问题是如何为 $mail 对象分配这些值。

我当然不知道如何使用 include 和/或 requires... 会不会很简单...

$mail->IsSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'myserver.com'; // Specify main and backup server
$mail->SMTPAuth = true; // Enable SMTP authentication

includes '../locationOutsideWebroot/emailCredntials.php';

$mail->SMTPSecure = 'pass123';

然后是 emailCredentails.php:

<?php
$mail->Username = 'info@somedomain.com';
$mail->Password = 'user123';
?>

这是否足够安全?

谢谢,

艾伦。

最佳答案

我认为您的凭据应该存储在 webroot 之外的配置文件(INI 或 JSON)中。由于该协议(protocol)需要原始凭证,因此这是最安全的方法。另外,不要忘记为配置文件设置适当的访问权限。

小例子:

<?php

$config = parse_ini_file('/var/app/config.ini', true);

// PHPMailer
$mail->Username = $config['email']['username'];
$mail->Password = $config['email']['password'];

关于security - PHP Mailer 类 - 保护电子邮件凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19431469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com