Ich benutze PHPMailer, um E-Mails in PHP mit SMTP mit Benutzername & Passwort Autorisierung zu senden.Speichern Sie eine sensible ini-Datei (für PHPMailer-Anmeldeinformationen) in inetpub aber außerhalb von wwwroot in IIS - ist es "öffentlich"?
Es funktioniert gut, aber ich bin besorgt über die harte Codierung der SMTP-Benutzername & Passwort in der PHP-Datei.
Andere Gewinde auf Stack-Überlauf haben vorgeschlagen,
So „den Benutzernamen & Passwort in einer‚ini‘Datei außerhalb des Web-Servers/Document-Root-Speicherung“ Ich habe es in inetpub gespeichert haben, aber vor wwwwroot. Z.B. E: \ inetpub \ smtp.ini
Wo, wie meine Webseiten in E gespeichert sind: \ inetpub \ wwwroot \ exampleWebsite
Meine Frage ist: Ist meine smtp.ini Datei gespeichert in einem 'nicht-öffentlichen' Bereich ? Mit anderen Worten: Wenn ein Website-Benutzer auf wwwroot zugreifen kann, kann er auch auf eine Datei in inetpub zugreifen? Oder gibt es einen besseren Ordner/Unterordner, in dem ich ihn speichern sollte?
Mein PHP-Code ist wie folgt:
$path = realpath('/inetpub/smtp.ini');
$config = parse_ini_file($path, true);
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'outlook.office365.com';
$mail->SMTPAuth = true;
$mail->Username = $config['smtp']['un'];
$mail->Password = $config['smtp']['pw'];
// ... rest of mail function ...
$mail->send();
Große Antwort, danke! – 100pic