*

Offline Jo

  • *****
  • 232
  • Geschlecht: Männlich
    • JoLichter.de
PHP warning: escapeshellcmd()
« am: 05. Februar 2017, 13:39:58 »
Im Error-Log steht beim Versenden per phpmailer:
PHP warning: escapeshellcmd() has been disabled for security reasons ?

Wahrscheinlich benutzt ihr einen Sharehoster und dieser hat aus "Sicherheitsgründen" die Funktion escapeshellcmd() deaktiviert  :confused:

Laut dem PHP-Referenzhandbuch maskiert escapeshellcmd() alle Zeichen in einem String, der verwendet werden könnte um einen Shell-Befehl Ausführung zu können um beliebige Befehle zu übergehen. Das Blockieren dieser Funktion würde doch diesen Zweck zunichte machen?  :p

Weiterhin steht dort: Um einzelne Argumente zu maskieren, sollte statt dessen escapeshellarg() verwendet werden.
Anscheinend sehen die PHPMailer Entwickler das auch so, denn im Quellcode findet sich dieser Hinweis dazu:
Zitat
// TODO: If possible, this should be changed to escapeshellarg. Needs thorough testing

Sollte euer Sharehoster also diese Funktion nicht aktiveren wollen, habt ihr nur noch folgende Möglichkeiten:
  • sucht euch einen anderen CMS-tauglichen Hoster
  • verwendet in der Datei *class.phpmailer.php anstatt escapeshellcmd() die Funktion escapeshellarg()
  • oder stellt den Mailversand auf die Option SMTP um



*Ort: ~/core/model/modx/mail/phpmailer/class.phpmailer.php

« Letzte Änderung: 06. Februar 2017, 22:42:16 von Jo »