Page 1 sur 1

Script php recherche caractère sur un hébergement

Posté : 18 janv. 2012, 23:18
par lolo81
Bonjour,
j'aimerai faire un script de recherche d'une chaine de caractère sur tout un hébergement.
Normalement, j'utilise putty pour faire cette recherche.
Dans putty, je tape en racine de mon hébergement :

Code : Tout sélectionner

find . -name "index.php" -exec grep -Hn "eval(base64_decode" {} \;
J'ai donc fait un script php avec commande Shell:
<?php
$output = shell_exec('find . -name "index.php" -exec grep -Hn "eval(base64_decode" {} \;');
echo "<pre>$output</pre>";
?>
Le problème, c'est mon script est placé dans un répertoire de niveau 2.
Je voudrai que mon script débute en racine de mon hébergement, puis lance la recherche de la chaine dans tout mon hébergement qui est constitué de plusieurs dizaines de dossiers (répertoires) avec plusieurs niveaux.
Je lancerai ce script automatiquement à l'aide de mon planificateur de tache chez ovh.
Merci de votre aide. Laurent

Re: Script php recherche caractère sur un hébergement

Posté : 19 janv. 2012, 06:31
par moogli
Salut

Tu a juste à utiliser le bon chemin. Soit tu l'indique "en dur" depuis la racines soit tu utilise un chemin relatif par exemple ../../fichier

@+

Re: Script php recherche caractère sur un hébergement

Posté : 19 janv. 2012, 08:29
par lolo81
Bonjour,
je voudrai utiliser un chemin relatif. Je ne veux pas mettre le script en racine. Le pb, c'est que je ne sais pas le rajouter dans le script...
Merci. Laurent

Re: Script php recherche caractère sur un hébergement

Posté : 20 janv. 2012, 09:37
par moogli
a ton avis a quoi sert le premier point ?

@+

Re: Script php recherche caractère sur un hébergement

Posté : 20 janv. 2012, 19:58
par lolo81
Ok j'avais pas compris le principe...
Désolé. Merci !
Laurent

Re: Script php recherche caractère sur un hébergement

Posté : 20 janv. 2012, 20:50
par lolo81
Je reviens vers vous, car la recherche ne se fait qu'en racine de mon hébergement et pas dans tous les sous-répertoires.
Voici le code :

Code : Tout sélectionner

<?php $output = shell_exec('find .-name "../../index.php" -exec grep -Hn "eval(base64_decode" {} \;'); echo "<pre>$output</pre>"; ?>
Que dois-je rajouter pour faire une recherche dans tout l'hébergement.
Pour Rappel, je suis en mutualisé chez Ovh
Merci

Re: Script php recherche caractère sur un hébergement

Posté : 20 janv. 2012, 21:09
par xTG
La fonction find est récursive, donc de base elle regarde aussi dans les sous-répertoires.

Re: Script php recherche caractère sur un hébergement

Posté : 20 janv. 2012, 22:08
par lolo81
Pourtant je n'ai de retour que à partir de la racine de l'arborescence de mon hébergement... ???
toute les autres chaines ne sont pas trouvées...

Re: Script php recherche caractère sur un hébergement

Posté : 21 janv. 2012, 07:41
par xTG
Sans doute qu'il recherche le fichier avec la remontée de dossier. :/
Il faut donc te déplacer avec la commande cd avant de lancer la fonction find.
Donc du coup c'est un script shell qu'il faut que tu fasses, contenant le cd et le find et appelé par exec.
Ce ne sera par contre plus une variable PHP mais un argument de script dans le find. Et dans le exec tu pourras passer ta variable PHP en paramètre au script shell.

Re: Script php recherche caractère sur un hébergement

Posté : 21 janv. 2012, 10:15
par lolo81
Merci, mais là, cela dépasse mes compétences... Sauf si vous me faites le script...

Re: Script php recherche caractère sur un hébergement

Posté : 21 janv. 2012, 20:40
par xTG
Pas très compliqué quand on cherche un peu en fait... Car en fait tu n'as même pas d'argument à passer à ce que je vois.
Le script shell :

Code : Tout sélectionner

cd ../.. find .-name "index.php" -exec grep -Hn "eval(base64_decode" {} \;
Reste plus qu'à enregistrer ça dans un fichier et à l'appeler avec exec.

Re: Script php recherche caractère sur un hébergement

Posté : 21 janv. 2012, 20:53
par lolo81
ok merci je vais essayer !