[Résolu] Site totalement down

Bonjour,

Après infection de notre site par un méchant virus en novembre dernier et retour à la normale, nouveau bug grave : le site est totalement down depuis hier. Accès partie publique comme admin en mode page blanche (même pas erreur 404).
Hébergeur : Orangewebsite
Version SPIP : à jour 4.4.13

Aucun virus dans la base de donnée, vérifié avec l’hébergeur. De son côté, aucune mise à jour Linux ou php qui pourraient avoir impacté l’accès au site. Tentative de restauration chez l’hébergeur à la date d’une semaine plus tôt (le site était garanti fonctionnel), aucun effet, toujours inaccessible.

Accès en FTP possible, on constate une modification du fichier .htaccess principal, celui qui est à la racine de public_html, quelques lignes de code que je ne comprends pas (mes connaissances sont assez médiocres, je dois le reconnaître…) :

# php -- BEGIN cPanel-generated handler, do not edit
# Set the "ea-php83" package as the default "PHP" programming language.
<IfModule mime_module>
   AddHandler application/x-httpd-ea-php83 .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated, do not edit

C’est à dire, si je comprends bien les commentaires, l’utilisation par défaut de php8.3

J’informe l’hébergeur qui me répond :
« There have been no updates on the shared server, it’s still using the same cloudlinux version and cPanel. What version is your spip cms ? I ask that as some spip version don’t work well with php 8.3”.

Voilà, quelqu’un.e aurait-il une idée de génie pour récupérer l’accès ? Merci de votre aide.

Bonjour,

En cas de page blanche, la première chose à faire serait d’activer l’affichage des erreurs : Les aides au débuggage de squelettes - SPIP

Page blanche ?!

Certaines erreurs PHP peuvent provoquer une page blanche sur la partie publique comme sur la partie privée de votre site.

Dans ce cas, vous devez ajouter le code suivant dans Le fichier mes_options.php :

// Activer les rapports d’erreurs PHP
error_reporting(E_ALL^E_NOTICE);
ini_set ("display_errors", "On");

// Afficher toutes les erreurs dans SPIP
define('SPIP_ERREUR_REPORT', E_ALL);

…puis relancer votre page. Elle devrait alors afficher un message d’erreur PHP indiquant la cause exacte du problème.

Important : si c’est un site en production, il faudra supprimer ces lignes une fois le problème résolu.

Bonjour,

Utilisais-tu le plugin « Saisies » ?
Si oui, quelle était la version de ton plugin ?

Pour retrouver l’accès à ton site, as-tu restauré le fichier .htaccess ?

Alors, merci de vos réponses, je commence par celle-ci :

  • oui, le plugin « saisies » est installé, version 6.0.3
  • la restauration du fichier .htaccess ne change rien

Bonjour,

En activant les logs rien de plus ?

Alors, suite au post plus haut, j’ai créé le fichier mes_options.php dans le dossier config, et j’ai ajouté le code indiqué plus haut.
J’ai relancé la page, aucun message d’erreur php

Même dans le répertoire ./tmp/log ?

Et dans le source de la page (ctrl+u) ?

dans le répertoire /tmp/log aucun fichier php.log…

Alors quelques pistes de plus :

  1. et sans le .htaccess ?
  2. si tu mets un test.txt à la racine avec « coucou » dedans, est-ce que urldusite/test.txt affiche coucou ? (test de base pour être sûr de travailler dans le bon dossier)
  3. si tu mets un test.php contenant : <?php phpinfo(); ?> puis urlsite/test.php ça t’affiche quelle version de PHP ?
  4. est-ce que spip a été installé avec spip_loader.php ?
  5. tenter de réinstaller spip avec spip_loader (tout déplacer dans un sous-dossier sauf IMG/, réinstaller les plugins 1 par 1 via SVP, et le dossier squelettes/ après avoir vérifié que l’admin fonctionnait et que le dossier n’avait pas de trucs bizarre dedans

Dans le code source de la page, vide, sauf
<!-- Erreur -->

Alors, merci de votre aide à toutes et tous, tout d’abord. Je ne suis qu’un pauvre webmaster et pas vraiment un développeur, quoiqu’ayant un peu codé, mais pas en php.
1 - sans fichier .htaccess, pareil
2 - fichier test.txt, OK, affichage « coucou »
4 - oui spip installé avec spip_loader, ainsi que toutes les mises à jour successives
Je continue

1 « J'aime »

3 - version php 8.3.30

5 - alors OK, j’ai déjà fait la réinstallation complète avec le virus, je sais faire, si je pouvais éviter… ;-D J’essaie d’épuiser les autres solutions avant…

Si tu renommes le dossier plugins/ en pluginsold/ et squelettes/ en squelettesold/ est-ce qu’il y a toujours le problème ?

Alors double essai : 1) plugins => pluginsold. Puis 2) squelettes => squelettesold
Rien de changé…

Est-ce que tu pourrais vérifier si des fichiers ont été modifiés (hack) ? Par exemple le fichier index.php et/ou spip.php (index.php appelle spip.php) si oui il faut les nettoyer et tout vérifier.

OK, je vais regarder cela. Pas tout de suite, je fais toute la sauvegarde du site au cas où…
En fait, ils datent tout les deux du 6 mars, soit le jour de l’installation de 4.4.13. Mais bon, je vais regarder

Le fichier index.php renvoie seulement à spip.
Voilà le fichier spip.php :

<?php /** * SPIP, Système de publication pour l'internet * * Copyright © avec tendresse depuis 2001 * Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James * * Ce programme est un logiciel libre distribué sous licence GNU/GPL. * Pour plus de détails voir le fichier LICENSE ou l'aide en ligne. */ use function SpipLeague\Component\Kernel\param; require_once __DIR__ . '/vendor/autoload.php'; $ecrire = param('spip.dirs.core'); include_once $ecrire . 'inc_version.php'; # @todo Replace by $app = boot() call # au travail... include $ecrire . 'public.php'; # @todo Replace by $app->run()

Le contenu du fichier spip.php est OK
C’est quand même bizarre…
Pourrais-tu renommer ton fichier .htaccess (pour garder d’éventuels réglages personnalisés) et renommer le htaccess.txt fourni avec SPIP en .htaccess ?