Jo's Forum

Computer & Software => CMS => Thema gestartet von: Jo am 05. Februar 2017, 13:39:58

Titel: PHP warning: escapeshellcmd()
Beitrag von: Jo 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() (http://php.net/manual/de/function.escapeshellcmd.php) 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() (http://php.net/manual/de/function.escapeshellarg.php) verwendet werden.
Anscheinend sehen die PHPMailer (https://github.com/PHPMailer/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:



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