[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Un p'tit coup de main pour un grand nettoyage !



Bonsoir la liste !

Juste un petit mot pour vous remercier du p'tit coup de main pour le grand
nettoyage du blog du collège Montaigne.

Le blog a pu reprendre son service ce soir :

http://www.clg-montaigne-goussainville.ac-versailles.fr/

Merci encore.

Chaleureusement,

Christophe

Jacques L'helgoualc'h a dit dans un souffle :
Christophe Gallaire a écrit, lundi 14 avril 2008, à 11:56 :
Bonjour Jacques,

bonjour,

Jacques L'helgoualc'h a dit dans un souffle :

M'enfin, plusieurs...

[...]
Tout  d'abord, il  faudrait que  Christophe vérifie  si cette  P*@!µ$ de
ligne de  code tient bien  sur une seule  ligne, ou plusieurs  --- c'est
important pour Sed.

Alors, la ligne est invariablement la même.

Bon.

Elle est en document plein texte ici
: http://www.clg-montaigne-goussainville.ac-versailles.fr/code

Je n'ai pas la permission d'entrer sur le site ?

Le problème est que dans certains fichiers elle est venue s'ajouter dans la
suite de la dernière et dans d'autres elle est la dernière ligne. En clair,
parfois elle n'est pas seule sur la ligne. Une constante : elle est toujours sur
la dernière ligne !

Sans rien d'utile après, c'est plus sûr... S'il n'y a pas de pourcentage
dans ce code,

sed -i.infect -f purge_ligne.sed exemple.php

devrait faire le nettoyage,

purge_ligne.sed :
----8<------------8<------------8<------------8<------------8<--------
${ # sur la dernière ligne,
	\%LA_LIGNE%{ # quand elle est infectée,
		s///g # on supprime le(s) code(s)
	}
}
----8<------------8<------------8<------------8<------------8<--------


Plus générique, on peut supposer que ce style de codage n'est employé
nulle part,

purge_code.sed :
----8<------------8<------------8<------------8<------------8<--------
\%<?php echo '<iframe src="\(&#[0-9]\+;\)\+" width=1 height=1></iframe>';?>%{
	s///g # on supprime tous les codes à la &#42;&#123;
}
----8<------------8<------------8<------------8<------------8<--------
(seulement testé sur l'exemple ci-dessous)

~ $ cat exemple.php
lignes
au-dessus
texte avant,<?php echo '<iframe src="&#42;&#666;" width=1 height=1></iframe>';?> rien ensuite


Si ça marche, un coup de balai :

find /nids_de_php/ -type f -iname \*.php -exec sed -i.infect -f script.sed {} +

mais il peut être plus élégant d'établir d'abord la liste des fichiers infectés.


[...]
- l'option -f de Sed, ou mieux « --script-file=FICHIER-SCRIPT », permet
  d'éviter ces problèmes.

Aaaargh --- c'est « --file » :/
--
Jacques L'helgoualc'h

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


--
Christophe Gallaire

Carnet de route : http://www.road2mayotte.org

Linux On The Root : http://ubunteros.tuxfamily.org/

Mutt, le Mail Agent à l'extrême configurabilité ! 100% libre ! 100% Linux !
"Les clèbs (mutts) n'ont pas de punaises (bugs) mais des puces !"


Reply to: