Bonjour à tous,
J’utilise Spip en simple utilisatrice depuis très longtemps et je n’ai jamais eu à venir ici. J’ai migré une dizaine de sites en version 4.4.19 vers la 4.4.20 la semaine dernière sans problème. Ce matin, je m’aperçois que mon serveur (Linux Debian) est surchargé (charge de 200).
En vérifiant les accès, les piratages sont automatiques puisque 9 des 10 sites hébergés ont été attaqués en moins de 2 minutes ce matin à 10:22. Je ne sais pas pourquoi le 10e est passé entre les mailles du filet (le seul en http et non https, c’est peut-être une piste).
Je fais le ménage dans les processus, les crons (il y avait un truc appelé dans le cron de www-data), je passe un coup de spip_cleaner et je termine en passant le chiffon et l’aspirateur un peu partout.
Les bases de données sont bonnes (vérifiées avec l’archivage de jeudi dernier). Tous les scripts litigieux ont été retirés (y compris les trucs dont le nom commence par ., … ou …). Les caches ont été vidés. J’ai réinstallé SPIP 4.4.21 depuis le serveur à partir de l’archive zip (et non de spip_loader.php, le site étant dysfonctionnel). Et là, c’est la catastrophe. Tous les sites sont en erreur 401 :
Exemple d’un site hébergeant des données pour des enseignants d’histoire :
Warning: Undefined global variable $profondeur_url in /export/home/bertrand/web/histoire/ecrire/inc/urls.php on line 68
Fatal error: Uncaught Exception: Missing a url function for type propres : urls_propres_decoder_url() in /export/home/bertrand/web/histoire/ecrire/inc/utils.php:1942 Stack trace: #0 /export/home/bertrand/web/histoire/ecrire/inc/urls.php(173): charger_fonction_url() #1 /export/home/bertrand/web/histoire/ecrire/urls/page.php(92): urls_transition_retrouver_anciennes_url_propres() #2 /export/home/bertrand/web/histoire/ecrire/inc/urls.php(113): urls_page_decoder_url_dist() #3 /export/home/bertrand/web/histoire/ecrire/inc/filtres.php(2692): urls_decoder_url() #4 /export/home/bertrand/web/histoire/ecrire/inc/filtres.php(4701): form_hidden() #5 /export/home/bertrand/web/histoire/ecrire/src/Afficher/Minipage/Admin.php(127): bouton_action() #6 /export/home/bertrand/web/histoire/ecrire/inc/flock.php(403): Spip\Afficher\Minipage\Admin->page() #7 /export/home/bertrand/web/histoire/ecrire/inc/flock.php(669): raler_fichier() #8 /export/home/bertrand/web/histoire/ecrire/xml/analyser_dtd.php(105): sous_repertoire() #9 /export/home/bertrand/web/histoire/ecrire/xml/analyser_dtd.php(48): analyser_dtd() #10 /export/home/bertrand/web/histoire/ecrire/xml/sax.php(196): charger_dtd() #11 /export/home/bertrand/web/histoire/ecrire/xml/valider.php(353): xml_sax_dist() #12 /export/home/bertrand/web/histoire/ecrire/plugins/infos_paquet.php(34): xml_valider_dist() #13 /export/home/bertrand/web/histoire/ecrire/plugins/get_infos.php(121): plugins_infos_paquet() #14 /export/home/bertrand/web/histoire/ecrire/plugins/get_infos.php(67): plugins_get_infos_un() #15 /export/home/bertrand/web/histoire/ecrire/inc/plugin.php(66): plugins_get_infos_dist() #16 /export/home/bertrand/web/histoire/ecrire/inc/plugin.php(252): liste_plugin_files() #17 /export/home/bertrand/web/histoire/ecrire/inc/plugin.php(854): liste_plugin_valides() #18 /export/home/bertrand/web/histoire/ecrire/inc/plugin.php(782): ecrire_plugin_actifs() #19 /export/home/bertrand/web/histoire/ecrire/inc/utils.php(314): actualise_plugins_actifs() #20 /export/home/bertrand/web/histoire/ecrire/inc/autoriser.php(112): pipeline() #21 /export/home/bertrand/web/histoire/ecrire/inc/flock.php(298): autoriser() #22 /export/home/bertrand/web/histoire/ecrire/inc/flock.php(330): ecrire_fichier() #23 /export/home/bertrand/web/histoire/ecrire/inc/meta.php(141): ecrire_fichier_securise() #24 /export/home/bertrand/web/histoire/ecrire/inc/meta.php(223): touch_meta() #25 /export/home/bertrand/web/histoire/ecrire/inc/acces.php(139): ecrire_meta() #26 /export/home/bertrand/web/histoire/ecrire/inc/meta.php(64): renouvelle_alea() #27 /export/home/bertrand/web/histoire/ecrire/inc/utils.php(2873): inc_meta_dist() #28 /export/home/bertrand/web/histoire/ecrire/inc_version.php(508): spip_initialisation_core() #29 /export/home/bertrand/web/histoire/ecrire/index.php(23): include('...') #30 {main} thrown in /export/home/bertrand/web/histoire/ecrire/inc/utils.php on line 1942
Cette fonction est pourtant dans un fichier propre.php ou propre2.php qui est bien dans plugins-dist. Je ne comprends pas pourquoi cette fonction existant sous la forme urls_propres_decoder_url_dist() n’est pas trouvée.
Toute aide sera la bienvenue.
Odile