Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/07/2007, 10h56   #1
Invité régulier
 
Inscription : juillet 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 61
Points : 9
Points : 9
Par défaut [PHP-JS] Passer des variables d'un menu déroulant

Bonjour

Mon objectif est de faire un script php permettant de lire X fichiers de logs.
Pour cela voici ou j'en suis :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="refresh" content="3" />
</head>
 
<body>
<?php
$lines = file ('user.log');
//Le tableau dans lequel on va stocker les lignes qui nous interessent
$dernieres_lignes = array_slice($lines, -100); // Extrait les 100 dernières liges
$monTableauInverse = array_reverse ($dernieres_lignes, true);
foreach ($monTableauInverse as $line) {
if ( strpos( $line , 'arning' ) != 0 || strpos( $line , 'ritical' ) !=0 )
{
      echo $line. "<br>";
   }
}
?>
</body>
</html>
Mon pb etant qu'ayant facilement 500 fichiers de logs, il me faut un moyen de pouvoir sélectionner celui que l'on veut visualiser.
Je pensais donc faire une liste deroulante pour
- choisir quel serveur
- choisir la log de ce serveur

Par exemple choisir sur le serveur TOTO la log USER.log, ou sur le serveur TITI la log AUTH.log.

et je ne sais pas comment on peut faire pour transferer ainsi une "double variable", le but étant de transferer les variables pour modifier :
$lines = file ('user.log');
en
$lines = file ('/TOTO/USER.LOG');
ou encore : $lines = file ('/TITI/AUTH.log');

Merci pour votre aide.
pascalbout1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 11h06   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
si la liste des fichiers est stockée dans une base de données tu peux utiliser la clé primaire de la table
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 11h08   #3
Invité régulier
 
Inscription : juillet 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 61
Points : 9
Points : 9
bonjour

merci, mais je n'ai pas le droit d'utiliser une base de donnée, je dois tout faire "en live" sur les fichiers
pascalbout1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 12h18   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
d'accord
comment tu fais pour vérifier que le fichier est bien autorisé à la lecture si tu passes directement le nom du fichier au script ? il faut empêcher la lecture a des fichiers non autorisés
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 15h38   #5
Invité régulier
 
Inscription : juillet 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 61
Points : 9
Points : 9
heu........je ne fais pas
en fait il y a un repertoire, contenant plusieurs repertories au nom des machines, contenant eux-mêmes les logs propores à chaque machine.
Au pire je mettrais un htaccess à la racine.
pascalbout1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 16h29   #6
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par pascalbout1
Au pire je mettrais un htaccess à la racine.
non ce n'est pas ça le problème, je parlais du problème de sécurité si quelqu'un mets par exemple "../../../home/www/site/motDePasseBaseDeDonnees.php"

si tous tes fichiers sont dans un même répertoire tu peux passer directement "TOTO/USER.LOG" comme valeur
ensuite je te conseille le traitement suivant :
- sépare le nom du répertoire du nom du fichier dans 2 variables
- si une des 2 variables contient ".." ou "/" c'est une tentative de piratage donc arrêt du script
- teste si le répertoire existe bien dans la liste des répertoire existants
- teste si le fichier existe bien dans la liste des fichiers
- si tout est bon, affiche le contenu du fichier
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 16h50   #7
Invité régulier
 
Inscription : juillet 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 61
Points : 9
Points : 9
Merci
C'est sûr, ce serait bcp plus propre et securisé ainsi..... le pb est que je ne serais pas du tout le faire !
Le script ci-dessus a été fait en glanant par ci par là des bouts de code sur le forum !
Un simple formulaire avec recupération des données suffirait ?
pascalbout1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h44.


 
 
 
 
Partenaires

Hébergement Web