Melding in backend: escapeshellcmd() has been disabled

  • Frits Jongbloets
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
26 feb 2020 14:59 #20863 door Frits Jongbloets
Melding in backend: escapeshellcmd() has been disabled werd gestart door Frits Jongbloets
Kan iemand hier wat meer licht op werpen?

Sinds de laatste Joomla update (3.9.15) zie ik in verschillende sites in de backend de volgende php waarschuwing verschijnen (waarin xxx staat voor het domein van de site):

Warning: escapeshellcmd() has been disabled for security reasons in /home/xxx/domains/xxx/public_html/libraries/vendor/phpmailer/phpmailer/class.phpmailer.php on line 1447

Deze waarschuwing verschijnt direct na het inloggen, als de pagina ververst wordt of je gaat naar een andere pagina, dan verdwijnt hij.

Afgaande op wat ik aan online informatie vind is er een goede reden waarom hosting providers escapeshellcmd() niet ingeschakeld willen hebben. Ook lees ik berichten waaruit in begrijp dat mailen vanuit een website beter via smtp kan gebeuren. En er zouden in het verleden problemen geweest zijn met de phpmailer library die met Joomla wordt meegeleverd maar dat zou opgelost moeten zijn omdat we intussen via de Joomla updates een nieuwe library hebben gekregen.

Op de sites die het betreft, werkt mailen via phpmailer gewoon goed (bijv. e-mail notificaties van webformulieren). Ik kan er dan ook na het lezen van deze info geen peil meer op trekken:
  • Duidt deze waarschuwing nu op een probleem of kunnen we dit negeren?
  • Is het beter om in Joomla het sturen van mails altijd in te stellen op de smtp methode (in het algemeen en omwille van deze waarschuwing)?
  • Zijn er anderen die deze melding onlangs hebben gehad en wat hebben zij gedaan?
Discussie gesloten.
  • Hans van der Meer
  • Admin
  • Admin
  • Hans is een [b][u]echte Joomla[/u][/b] liefhebber en helpt als moderator op JoomlaCommunity, als med
Meer
27 feb 2020 08:39 #20864 door Hans van der Meer
Beantwoord door Hans van der Meer in topic Melding in backend: escapeshellcmd() has been disabled
Ik kwam uit op de Github repo van phpmailer en daar werd gezegd dat het beter is om SMTP te gebruiken.

Joostock mede-organisator, Moderator Joomlacommunity
Mede-organisator JoomlaDagen
ex Team Leader van Official Joomla Social Media Team & ex JUG-organisator
Eigen site: www.hierbenikthuis.nl
Discussie gesloten.
  • Frits Jongbloets
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
27 feb 2020 09:15 #20865 door Frits Jongbloets
Beantwoord door Frits Jongbloets in topic Melding in backend: escapeshellcmd() has been disabled
Ha Hans,

Bedankt voor je reactie. Goed om dit te weten - en tegelijkertijd geen fijn nieuws om dit te moeten aanpassen op een aantal sites ;)

Frits
Discussie gesloten.
  • J Sanders
  • Gebruiker
  • Gebruiker
  • Ontwikkelaar van [url=www.mijnrekensite.nl]MijnRekensite.nl[/url].
Meer
28 feb 2020 19:25 #20867 door J Sanders
Beantwoord door J Sanders in topic Melding in backend: escapeshellcmd() has been disabled
Hoi Hans,

Ik kwam uit op de Github repo van phpmailer en daar werd gezegd dat het beter is om SMTP te gebruiken.


Ik wil graag weten waarom SMTP beter is. Heb je misschien een link?

NB. Volgens mijn host maakt het geen verschil. Maar mis een goede onderbouwing.

Gr. Jan G.

Ontwikkelaar van MijnRekensite.nl , een online oefenmethode voor rekenen.
Discussie gesloten.
  • Wim Houtman
  • Gebruiker
  • Gebruiker
  • Ik maak, onderhoud en optimaliseer met heel veel plezier Joomla websites voor iedereen onder de naam
Meer
09 mrt 2020 14:34 #20869 door Wim Houtman
Beantwoord door Wim Houtman in topic Melding in backend: escapeshellcmd() has been disabled
Heel misschien: Check ook de php versie.
Discussie gesloten.
  • Frits Jongbloets
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
09 mrt 2020 16:56 #20870 door Frits Jongbloets
Beantwoord door Frits Jongbloets in topic Melding in backend: escapeshellcmd() has been disabled
Om even terug te komen op de melding waarmee ik dit topic begon; op dit moment denk ik dat het zo zit:

escapeshellcmd() is een php functie die niet veilig (meer) is en daarom door de meeste hosters is uitgezet, ook op mijn server. In de Joomla installatie is één plek waar deze functie wordt aangeroepen en dat is niet in Joomla zelf maar in de phpmailer library die bij Joomla wordt meegeleverd, in het bestand class.phpmailer.php.

Als phpmailer de escapeshellcmd() probeert te gebruiken roept dat een php warning op, maar het is niet zo ernstig dat de werking (het verzenden van de mail) verstoord wordt.

We zien de melding vrijwel nooit, omdat:
  • Het type mails dat via phpmailer verstuurd wordt komt meestal van een formulier of van een extensie die een notificatie afgeeft; processen waar we niet zelf met de neus bovenop staan;
  • Meestal staat het tonen van php waarschuwingen uit.

Op de sites waarop ik de melding opmerkte was de situatie echter als volgt:
  • De betreffende mails werden afgegeven door AdminTools, bijvoorbeeld bij inloggen in de backend of bij het wijzigen van instellingen; dat zijn handelingen waar we wel met de neus bovenop staan;
  • De Error reporting stond op Simple, niet op None.

Door deze combinatie gebeurde het dat we de warning te zien kregen. Terwijl ik intussen vermoed dat deze melding je op elke Joomla site om de oren zal vliegen maar dan ziet niemand het.

Ik heb nog geen tijd genomen om te testen of het mailen via smtp nog verschill zal maken voor het wel of niet oproepen van deze warning.
Discussie gesloten.
  • Wim Houtman
  • Gebruiker
  • Gebruiker
  • Ik maak, onderhoud en optimaliseer met heel veel plezier Joomla websites voor iedereen onder de naam
Meer
21 apr 2020 16:07 #21140 door Wim Houtman
Beantwoord door Wim Houtman in topic Melding in backend: escapeshellcmd() has been disabled
Hoi Frits, in Joomla 3.9.17 zojuist uitgebracht is de PHPMailer geüpgraded naar de nieuwste versie. joomla.org nieuwste joomla update Zal dat een oplossing zijn?

Inmiddels 3.9.18
Discussie gesloten.
  • Frits Jongbloets
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
28 apr 2020 11:02 #21185 door Frits Jongbloets
Beantwoord door Frits Jongbloets in topic Melding in backend: escapeshellcmd() has been disabled
Ha Wim,

Eerlijk gezegd zie ik de melding net zo vrolijk weer terugkomen op een 3.9.18 site...

Frits
Discussie gesloten.
  • Rachel Walraven
  • Admin
  • Admin
  • Sinds 1996 ben ik bezig met Webdesign en in 2006 mee gegaan met Joomla!. Inmiddels heb ik sinds mei
Meer
29 apr 2020 15:11 #21188 door Rachel Walraven
Beantwoord door Rachel Walraven in topic Melding in backend: escapeshellcmd() has been disabled

Ik wil graag weten waarom SMTP beter is. Heb je misschien een link?

NB. Volgens mijn host maakt het geen verschil. Maar mis een goede onderbouwing.

Gr. Jan G.


Mail verzonden met de PHPmailer wordt vaker gezien als spam en is dus onbetrouwbaarder (is mij verteld)

Rachel Walraven
walravenwebwerk.nl
Discussie gesloten.
Gemaakt door Kunena