Jump to content

[Résolu] Tout a disparu...


Recommended Posts

Bonjour,
Ce matin, grosse frayeur en regardant mes différents sites, tout est en vrac avec un message d'erreur. Investigation et en fait hier soir un petit malin a réussi à accéder a mon ftp et a insérer une ligne de code dans tout mes fichiers .php dont ceux de mon futur site prestashop. Donc changement de mot de passe ftp avec un mot de passe que j'arrive même pas a retenir moi même et nettoyage toute la matinée, j'ai procédé ainsi :

- accès au ftp et rapatriement en local de tout mon dossier prestashop

- nettoyage de tout mes fichiers (chercher/remplacer avec dreamweaver)

- upload de tout mon dossier prestashop

- je vérifie, j'ai bien tout mes dossiers sur mon ftp, je rapatrie quelques fichiers pour voir et ils sont bien "propres"

Et maintenant, j'ai une page blanche pour mon site (même en affichant le code source), idem pour l'admin.
Il fallait plutôt "réinstaller" prestashop ? (j'ai tout réuploadé dans le même répertoire, la base est identique, etc..)

Je pense cependant à une boulette que j'aurais pu faire lors du nettoyage : chaque fichier .php commence par

<?php

mais finissent t'ils tous par ?> ? (par exemple mon contact-form.php et mon discount.php a la racine ne finissent pas en

?>



Est ce qu'il y a un risque que ma base sql ait été touchée ? ou c'est complètement dissocié du contenu hébergé sur le ftp ?

Merci d'avance pour vos réponses,

Nicolas

Share this post


Link to post
Share on other sites

Le petit malin en question est sûrement un virus.

Oui, un fichier peut ne pas finir en ?> (il parait que c'est parfois mieux, mais là faut demander aux devs pourquoi).

Le plus simple et surtout le plus sûr serait peut-être d'uploader sur ton serveur les fichiers sources de la version de PS que tu utilisais et de remplacer tous les éléments propres à ta boutique (dossiers, fichier settings.inc.php, .htaccess, etc.). Inspire toi de la section "Mise à jour" du wiki pour connaitre les dossiers à récupérer.

Si après tout ça tu as encore une page blanche, tu peux essayer ça :
http://www.prestashop.com/forums/viewthread/22007
Tu peux d'ailleurs l'essayer dès maintenant sur ta boutique actuelle...

Share this post


Link to post
Share on other sites

Merci pour cette réponse rapide.
J'ai donc activé le "on" et j'ai l'affichage des messages d'erreur qui m'a permis d'avancer un peu.
En fait j'ai l'impression qu'en supprimant les lignes "intruses", certains fichiers php se sont mis un peu en vrac, tout le code s'est mis au kilomètre.
En suivant les messages d'erreur, j'ai donc identifié chaque fichier posant problème et remplacé ceux ci par un original et j'ai maintenant un affichage partiel de ma home avec tout de même un message d'erreur en header :

Warning: Cannot modify header information - headers already sent by (output started at /homez.28/hotlink/www/prestashop/classes/ObjectModel.php:855) in /homez.28/hotlink/www/prestashop/header.php on line 4




Si je vais regarder la ligne indiquée par le message d'erreur , je lis le contenu de header.php en ligne 4 qui semble ok (par rapport a l'original) :

// P3P Policies (http://www.w3.org/TR/2002/REC-P3P-20020416/#compact_policies)
header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');



Par contre j'ai ensuite plein de messages d'erreur dès que je veux passer une commande :

Warning: Cannot modify header information - headers already sent by (output started at /homez.28/hotlink/www/prestashop/classes/ObjectModel.php:855) in /homez.28/hotlink/www/prestashop/order.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /homez.28/hotlink/www/prestashop/classes/ObjectModel.php:855) in /homez.28/hotlink/www/prestashop/order.php on line 25

Warning: Cannot modify header information - headers already sent by (output started at /homez.28/hotlink/www/prestashop/classes/ObjectModel.php:855) in /homez.28/hotlink/www/prestashop/classes/Tools.php on line 42



Serait ce une bonne idée de ré-uploader tout mes dossiers config et classes par des propres ?

Je l'ai ainsi fait par exemple pour cms.php que j'ai réuploadé et j'ai maintenant accès au contenu des pages cms.

Merci d'avance,

Share this post


Link to post
Share on other sites

Après 10 heures d'affilée sans lâcher mon navigateur, mon "beyondcompare" (un super logiciel de comparaison de fichiers), mon filezilla, j'ai enfin trouvé le problème : en faisant un chercher/remplacer sur la ligne intruse j'avais mis un espace. Hors, je viens de constater que Prestashop (ou le language php) ne supporte pas qu'il y ait des espaces après le tag de fin d'un fichier .php

?>



Je n'y connais rien en .php mais je viens d'apprendre quelque chose sur ce language, c'est peut être une évidence pour les connaisseurs...

Il m'a suffit d'afficher les messages d'erreur les uns après les autres en supprimant les espaces a chaque fichier mis en cause.
Il doit certainement m'en rester et j'ai encore un paquet de tests a faire pour envisager tout les cas de figure lors du passage de commande...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More